+
+ def list_quickvotes()
+ QuickVote.find(:all).collect do |election|
+ get_quickvote(election.name)
+ end
+ end
+
+ def get_quickvote(shortname)
+ 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.candidate_names = election.candidate_names
+
+ if qv.save
+ return ""
+ else
+ raise ArgumentError.new("Saving quickvote FAILED:"+qv.errors.inspect)
+ end
+ end
+