X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/8dc61228b74613a5e585ef0a8cf7b4352e208717..9086b07aefc0560832373bb4ba30888d8d43f0d6:/app/models/vote.rb?ds=sidebyside diff --git a/app/models/vote.rb b/app/models/vote.rb index 33927cd..62944e3 100644 --- a/app/models/vote.rb +++ b/app/models/vote.rb @@ -8,6 +8,8 @@ class Vote < ActiveRecord::Base after_update :save_rankings before_destroy :destroy_rankings + + def to_s votes.join("") end @@ -51,6 +53,11 @@ class Vote < ActiveRecord::Base rankings.each { |ranking| ranking.destroy } end + def settime + self.time = Time.now + self.save + end + def confirm! self.confirmed = 1 self.save @@ -77,7 +84,15 @@ class Vote < ActiveRecord::Base end def votestring - self.votes.join("") + # create a mapping of candidates ids and the relative order of the + # candidates as they appear when sorted alphabetically + cand_relnums = {} + self.voter.election.candidates.sort.each_with_index do |c, i| + cand_relnums[c.id] = i + 1 + end + + # assemble the votestring + self.votes.collect {|v| cand_relnums[v]}.join("") end # the following subroutine is used for quickvotes. it creates a vote