class QuickvoteController < ApplicationController
layout 'main'
- model :quick_voter
- model :quick_vote
- model :vote
- model :election
+ require_dependency "quick_voter"
+ require_dependency "quick_vote"
+ require_dependency "vote"
+ require_dependency "election"
#############################################################
# the following methods pertain to creating quickvotes
def create
if params[:quickvote]
@quickvote = QuickVote.new(params[:quickvote])
-
# store the candidate grabbed through ajax and stored in flash
@quickvote.candidatelist = flash[:candlist]
@quickvote.description=CGI.escapeHTML(@quickvote.description)
def index
@election = QuickVote.ident_to_quickvote(params[:ident])
-
# if the person has specified an election, we show them the voting
# page. otherwise, we redirect back to main the page
if @election
-
# look to see that the voter has been created and has voted in
# this election, and has confirmed their vote
@voter = QuickVoter.find(:all, :conditions => ["session_id = ? and election_id = ?",
@voter = QuickVoter.new
@voter.election = @election
@voter.session_id = session.session_id
-
- # create new vote and make it the defaulted sorted list
+
+ # create new vote and make it the defaulted sorted list
@voter.vote = Vote.new
@voter.save
@voter.vote.set_defaults!
###############################################################
def results
- @election = QuickVote.ident_to_quickvote(params[:ident])
+ unless @election = QuickVote.ident_to_quickvote(params[:ident])
+ flash[:notice] = "Cannot find quickvote #{params[:ident]}."
+ redirect_to :controller => 'site'
+ return
+ end
@election.results
@candidates = {}
@election.candidates.each {|c| @candidates[c.id] = c}