require_dependency "candidate"
layout 'main'
- #before_filter :login_required
-
## methods for displaying, creating,
## and manipulating election overview data
####################################################################
@election = Election.find(params[:id])
@election.voters.each do |voter|
voter.vote = Vote.new
- email = VoterNotify.deliver_votestart(voter)
- #render(:text => "<pre>" + email.encoded + "</pre>")
+ email_voter voter
end
@election.activate!
if params.has_key?( :raw_voter_list )
process_incoming_voters( params[:raw_voter_list] )
end
-
@raw_voter_list = RawVoterList.new
end
voter.destroy
end
+ def remind_voter
+ 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
+ end
+
## methods for computing and printing results
####################################################################
def results
unless incoming_voters.entries.empty?
incoming_voters.each do |new_voter|
-
- if incoming_voters.email == 0
- new_voter.contacted = 1
- elsif incoming_voters.email == 1
- email_voter( new_voter )
- new_voter.contacted = 1
- else
- new_voter.contacted = 0
+ new_voter.email.strip! # There's a trailing \r on all but the last in
+ # the list!
+ if new_voter.valid?
+ # the new voter should be in good shape. save add to the election
+ @election.voters << new_voter
+ new_voter.save
end
-
- # the new voter should be in good shape. save add to the election
- @election.voters << new_voter
- new_voter.save
+ # TODO: Can we do some kind of AJAX error message for the voter being invalid?
end
+ @election.save
end
# reset the next time to have a the same default value for emailing
@raw_voter_list.email = incoming_voters.email
end
- def email_voter(email=nil)
- if email
-
+ def email_voter(voter=nil)
+ if voter
+ VoterNotify.deliver_votestart(voter)
+ voter.contacted=1
+ voter.save
end
end