require_dependency "election"
before_filter :authenticate, :except => [:index, :login, :reminder,
- :kiosk_ready]
+ :kiosk_ready, :sort_candidates]
def index
if params[:election_id]
else
@sidebar_content = render_to_string(:partial => 'vote_sidebar')
if @election.embeddable? and params[:embed] == "true"
- #look for custom theme, and assign to instance variabels for widget use
+ # look for custom theme, and assign to instance variabels
+ # for widget use
if @election.embed_custom_string
@top_bar = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "top_bar.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "top_bar.png"])
@default_image = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "default_image.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "default_image.png"])
@bg1 = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "bg1.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "bg1.png"])
@bg2 = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "bg2.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "bg2.png"])
@bottom_bar = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "bottom_bar.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "bottom_bar.png"])
end
render :template => 'embed/full_vote', :layout => 'embed'
else
def login
if params[:vote] and params[:vote][:password]
- redirect_to votepassword_url( :action => 'index', :urlpassword => params[:vote][:password])
+ redirect_to votepassword_url(:action => 'index',
+ :urlpassword => params[:vote][:password])
else
redirect_to :action => 'index'
end
end
def confirm
- @voter.vote.confirm!
-
- if @voter.election.embeddable? and params[:embed] == "true" \
- and @voter.election.early_results?
- redirect_to :action => :results, :id => @password, :embed => 'true'
- elsif not(@voter.election.verifiable) \
- and @voter.election.kiosk and params[:kiosk] == "true"
- redirect_to :action => "kiosk_ready", :id => @password, :kiosk => true
+ if @voter.vote.confirm!
+ if @voter.election.embeddable? and params[:embed] == "true" \
+ and @voter.election.early_results?
+ redirect_to :action => :results, :id => @password, :embed => 'true'
+ elsif not(@voter.election.verifiable) \
+ and @voter.election.kiosk and params[:kiosk] == "true"
+ redirect_to :action => "kiosk_ready", :id => @password, :kiosk => true
+ else
+ render :action => 'thanks'
+ end
else
- render :action => 'thanks'
+ redirect_to :action => 'index'
end
end
def reminder
if params[:email]
- voter_array= FullVoter.find(:all, :conditions => ["email = ?", params[:email]])
+ voter_array= FullVoter.find(:all,
+ :conditions => ["email = ?", params[:email]])
voter_array.delete_if {|voter| voter.election.active == 0}
unless voter_array.empty?
VoterNotify.deliver_reminder(voter_array)
end
def results
- if @voter.election.early_results? \
- or @voter.election.enddate < Time.now
+ if authenticate and
+ (@voter.election.early_results? \
+ or @voter.election.enddate < Time.now)
@election = @voter.election
- @sidebar_content = render_to_string(:partial => 'full_results_sidebar')
+ @sidebar_content = \
+ render_to_string(:partial => 'full_results_sidebar')
- #look for custom theme, and assign to instance variabels for widget use
+ # look for custom theme, and assign to instance variabels for
+ # widget use
if @election.embed_custom_string
@top_bar = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "top_bar.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "top_bar.png"])
@default_image = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "default_image.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "default_image.png"])
@bg1 = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "bg1.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "bg1.png"])
@bg2 = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "bg2.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "bg2.png"])
@bottom_bar = SkinPicture.find(:first,
- :conditions => ["filename = ?", @election.embed_custom_string + "bottom_bar.png"])
+ :conditions => ["filename = ?",
+ @election.embed_custom_string + "bottom_bar.png"])
end
if @election.embeddable? and params[:embed] == "true"
render :template => 'embed/results', :layout => 'embed'
session.session_id, election.id])[0]
# when (a) there is no voter or (b) when there is a voter but
- # it's kiosk mode on the right page, rewrite witha blank voter
- if not(@voter) \
+ # it's kiosk mode on the right page, rewrite with a blank voter
+ if ((not @voter) and (election.enddate < Time.now)) \
or (params[:action] == 'kiosk_ready' and election.kiosk)
@voter = OpenVoter.new unless @voter
end