class VoterController < ApplicationController
+ layout 'hc'
model :voter
model :vote
model :election
def index
password = params[:id]
- @voter = Voter.find_all( [ "password = ?", password ] )[0]
+ password = params[:vote][:password] if params[:vote]
+ if @voter = FullVoter.find_all( [ "password = ?", password ] )[0]
+ render :action => 'fullvote'
+ end
end
def review
- password = params[:id]
- @voter = Voter.find_all( [ "password = ?", password ] )[0]
+ if authenticate
+ # remove any existing votes and reload
+ if @voter.vote
+ @voter.vote.destroy
+ @voter.reload
+ end
- # destroy the old vote if that's what we need to do
- @voter.vote.destroy if @voter.vote
- @voter.reload
+ @vote = Vote.new
+ @voter.vote = @vote
+ @vote.votestring = params[:vote][:votestring]
+ @vote.save
+ else
+ redirect_to :action => 'index'
+ end
+ end
- @voter.vote = Vote.new
- @voter.vote.votestring = params[:vote][:votestring]
- @voter.vote.save
- render_text "success"
+ def confirm
+ if authenticate
+ @voter.vote.confirm!
+ render :action => 'thanks'
+ else
+ redirect_to :action => 'index'
+ end
end
+ private
+ def authenticate
+ password = params[:id]
+ @voter = FullVoter.find_all( [ "password = ?", password ] )[0]
+ end
end
+