X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/39db2eaf49aee569e9d216d312abba7388e8529d..3f5f14d1c73ff2614b0012d027e7360583e1a70e:/app/models/selectricity_service.rb?ds=sidebyside diff --git a/app/models/selectricity_service.rb b/app/models/selectricity_service.rb index 196161a..a3de89f 100644 --- a/app/models/selectricity_service.rb +++ b/app/models/selectricity_service.rb @@ -45,7 +45,7 @@ class SelectricityService < ActionWebService::Base def get_quickvote_results(shortname) #TODO: Validate shortname qv=QuickVote.ident_to_quickvote(shortname) - result=VoteResultStruct.new + result=QuickVoteResultStruct.new unless qv raise ArgumentError.new("No quickvote with name #{shortname} found!") end @@ -59,7 +59,7 @@ class SelectricityService < ActionWebService::Base end def get_quickvote_candidate_map(shortname) qv=QuickVote.ident_to_quickvote(shortname) - result=CandidateMap.new + result=QuickVoteCandidateMap.new unless qv raise ArgumentError.new("No quickvote with name #{shortname} found!") end @@ -69,31 +69,47 @@ class SelectricityService < ActionWebService::Base result.candidate_names=candidates.values result end + def get_quickvote_votes(shortname) - qv=QuickVote.ident_to_quickvote(shortname) - votes=Array.new + qv = QuickVote.ident_to_quickvote(shortname) + unless qv raise ArgumentError.new("Cannot find QuickVote #{shortname}") end - qv.votes.each do |vote| - votes << VoteInfo.new(:voter_id => vote.voter.id, :voter_ipaddress => vote.voter.ipaddress, :vote_time => vote.time.to_i, :vote => vote.votes, :voter_session_id => vote.voter.session_id ) + + qv.votes.collect do |vote| + QuickVoterInfo.new(:voter_id => vote.voter.id, + :voter_ipaddress => vote.voter.ipaddress, + :vote_time => vote.time.to_i, + :vote => vote.votes, + :voter_session_id => vote.voter.session_id) end - return votes end + def list_quickvotes() - all=Array.new - QuickVote.find(:all).each do |election| - all << get_quickvote(election.name) + QuickVote.find(:all).collect do |election| + get_quickvote(election.name) end - return all end + def get_quickvote(shortname) - raise ArgumentError.new("Cannot find QuickVote named #{shortname}") unless election=QuickVote.ident_to_quickvote(shortname) - return ElectionStruct.new(:id => election.id, :name => election.name, :description => election.description, :candidate_ids => election.candidates.collect {|c| c.id }, :candidate_names => election.candidates.collect {|c| c.name } ) + unless election = QuickVote.ident_to_quickvote(shortname) + raise ArgumentError.new("Cannot find QuickVote named #{shortname}") + end + + QuickVoteStruct.new( + :id => election.id, + :name => election.name, + :description => election.description, + :candidate_ids => election.candidates.collect {|c| c.id }, + :candidate_names => election.candidates.collect {|c| c.name } ) end + def create_quickvote(election) - qv=QuickVote.new(:name => election.name, :description => election.description) - qv.candidatelist=election.candidate_names + qv = QuickVote.new(:name => election.name, + :description => election.description) + qv.candidate_names = election.candidate_names + if qv.save return "" else