From bad702d3a28ee603ed96a9b7971bb2ec4280481a Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Wed, 19 Sep 2007 20:55:48 +0000
Subject: [PATCH] Dissallow people from changing their votes in the Vote
 ApprovalAction

---
 application/models/rows/ApprovalActionQueue.php | 2 +-
 application/models/rows/ApprovalActionVote.php  | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/application/models/rows/ApprovalActionQueue.php b/application/models/rows/ApprovalActionQueue.php
index 75814e2b..5e040aa1 100644
--- a/application/models/rows/ApprovalActionQueue.php
+++ b/application/models/rows/ApprovalActionQueue.php
@@ -110,7 +110,7 @@ class ApprovalActionQueue extends ApprovalAction
      */
     public function userMadeDecision(Request $request, User $user, $decision)
     {
-        $vote = ApproverVotes::getInstance()->fetchByRequestUserAndAction($request, $user, $this);
+        $vote = $this->getUserDecision($request, $user);
         if ($vote) {
             $vote->vote = $decision;
         } else {
diff --git a/application/models/rows/ApprovalActionVote.php b/application/models/rows/ApprovalActionVote.php
index b80d556d..26e61a6d 100644
--- a/application/models/rows/ApprovalActionVote.php
+++ b/application/models/rows/ApprovalActionVote.php
@@ -69,6 +69,12 @@ class ApprovalActionVote extends ApprovalActionQueue
      */
     public function userMadeDecision(Request $request, User $user, $decision)
     {
+        $vote = $this->getUserDecision($request, $user);
+        if ($vote) {
+            // TODO: don't fail silently when someone tries to vote again.
+            return;
+        }
+
         parent::userMadeDecision($request, $user, $decision);
     }
 
-- 
GitLab