From: John Dong Date: Thu, 16 Aug 2007 18:28:22 +0000 (-0400) Subject: Added XMLRPC API to obtain list of voters X-Git-Url: https://projects.mako.cc/source/selectricity-live/commitdiff_plain/2125b369b46eeb120a4e76757a0ccc206b0eed09 Added XMLRPC API to obtain list of voters --- diff --git a/app/apis/selectricity_api.rb b/app/apis/selectricity_api.rb index 8a8dce4..34c9287 100644 --- a/app/apis/selectricity_api.rb +++ b/app/apis/selectricity_api.rb @@ -1,3 +1,9 @@ +class VoteInfo < ActionWebService::Struct + member :voter_id, :int + member :voter_ipaddress, :string + member :vote_time, :int +end + class VoteResultStruct < ActionWebService::Struct member :plurality_winners, [:int] member :approval_winners, [:int] @@ -16,6 +22,7 @@ class SelectricityAPI < ActionWebService::API::Base api_method :get_quickvote_results, :expects => [:string], :returns => [VoteResultStruct] api_method :get_quickvote_candidate_map, :expects => [:string], :returns => [CandidateMap] api_method :quickvote_candidate_ids_to_names, :expects => [:string,[:int]], :returns => [[:string]] + api_method :get_quickvote_votes, :expects => [:string], :returns => [ [VoteInfo] ] end diff --git a/app/models/selectricity_service.rb b/app/models/selectricity_service.rb index add5ab9..3f3e42e 100644 --- a/app/models/selectricity_service.rb +++ b/app/models/selectricity_service.rb @@ -65,5 +65,16 @@ 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 + unless qv + return result + 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) + end + return votes + end + end