X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/9abed97635edbac7fb1a687298fff5c5434cdff4..4ae380231b08416a3ac3b6966d9dbc00a73fc3ca:/app/controllers/voter_controller.rb?ds=inline diff --git a/app/controllers/voter_controller.rb b/app/controllers/voter_controller.rb index 2ceb42b..f4e0e7e 100644 --- a/app/controllers/voter_controller.rb +++ b/app/controllers/voter_controller.rb @@ -1,25 +1,47 @@ class VoterController < ApplicationController - model :voter - model :vote - model :election + layout 'main' + require_dependency "voter" + require_dependency "vote" + require_dependency "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, :conditions => [ "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, :conditions => [ "password = ?", password ] )[0] + end end +