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|
-
+ new_voter.email.strip! # There's a trailing \r on all but the last in
+ # the list!
if incoming_voters.email == 0
new_voter.contacted = 1
elsif incoming_voters.email == 1
else
new_voter.contacted = 0
end
-
- # the new voter should be in good shape. save add to the election
- @election.voters << new_voter
- new_voter.save
+ 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
+ # 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
create_table "voters", :force => true do |t|
t.column "email", :string, :limit => 100
t.column "password", :string, :limit => 100
- t.column "contacted", :integer, :limit => 4, :default => 0, :null => false
- t.column "election_id", :integer, :null => false
+ t.column "contacted", :integer, :limit => 4, :default => 0, :null => false
+ t.column "election_id", :integer, :null => false
t.column "session_id", :string, :limit => 32
t.column "ipaddress", :string, :limit => 32
- t.column "type", :string, :limit => 100, :default => "", :null => false
end
add_index "voters", ["election_id"], :name => "fk_election_voter"