X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/d207da8dfc3f315f7758d1f5307c700ce4c25156..75091532075247ae9c47164ea883f4fe803eddf4:/app/controllers/voter_controller.rb diff --git a/app/controllers/voter_controller.rb b/app/controllers/voter_controller.rb index 2527118..d2529f8 100644 --- a/app/controllers/voter_controller.rb +++ b/app/controllers/voter_controller.rb @@ -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 +