@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
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