Added support for voting in QuickVotes.
[selectricity] / app / controllers / voter_controller.rb
index 252711830ac96f7796062b7ab523cf391ed1eab3..d2529f8762416927e7775776ef16ae6f0c6fb6f2 100644 (file)
@@ -1,4 +1,5 @@
 class VoterController < ApplicationController
+  layout 'vb'
   model :voter
   model :vote
   model :election
@@ -6,8 +7,8 @@ class VoterController < ApplicationController
   def index
     password = params[:id]
     password = params[:vote][:password] if params[:vote]
-    if @voter = Voter.find_all( [ "password = ?", password ] )[0]
-      render :action => 'vote'
+    if @voter = FullVoter.find_all( [ "password = ?", password ] )[0]
+      render :action => 'fullvote'
     end
   end
   
@@ -29,7 +30,26 @@ class VoterController < ApplicationController
   end
 
   def confirm
-    if authenticate
+    if params[:votename]
+      if Voter.find_all( ["session_id = ?", session.session_id ])[0]
+        flash[:notice] = "You have already voted!"
+       redirect_to quickvote_url( :votename => params[:votename] )
+      else
+        @voter = QuickVoter.new()
+        @voter.election = Election.find_all( [ "name = ?",
+                                              params[:votename] ] )[0]
+        @voter.session_id = session.session_id
+        @voter.save
+        @voter.reload
+        
+        @voter.vote = Vote.new
+        @voter.vote.votestring = params[:vote][:votestring]
+        @voter.vote.save
+       @voter.vote.confirm!
+        render :action => 'thanks'
+      end
+      
+    elsif authenticate
       @voter.vote.confirm!
       render :action => 'thanks'
     else
@@ -37,9 +57,15 @@ class VoterController < ApplicationController
     end
   end
 
+  def quickvote
+    @voter = QuickVoter.new
+    @voter.election = Election.find_all( [ "name = ?", params[:votename] ] )[0]
+  end
+
   private
   def authenticate
     password = params[:id]
-    @voter = Voter.find_all( [ "password = ?", password ] )[0]
+    @voter = FullVoter.find_all( [ "password = ?", password ] )[0]
   end
 end
+

Benjamin Mako Hill || Want to submit a patch?