]> projects.mako.cc - selectricity/blobdiff - app/models/vote.rb
a long variety of improvements and tweaks
[selectricity] / app / models / vote.rb
index 82f34a929bb6443a7d0b5058ff1263bbb1736ab3..014899d905ac9e07a185cd99f5abcae9db1d702f 100644 (file)
@@ -36,11 +36,16 @@ class Vote < ActiveRecord::Base
     destroy_rankings
     self.votes.each_with_index do |candidate, index| 
       ranking = Ranking.new
-      ranking.rank = index + 1
+      ranking.rank = index
       ranking.candidate =  Candidate.find(candidate)
       self.rankings << ranking
     end
   end
+  
+  def destroy
+    self.destroy_rankings
+    super
+  end
 
   def destroy_rankings 
     rankings.each { |ranking| ranking.destroy }
@@ -49,18 +54,16 @@ class Vote < ActiveRecord::Base
   def confirm!
     self.confirmed = 1
     self.save
-
-    token.destroy and token.reload if token
-    self.token = Token.new
-    self.save
+    
+    unless self.voter.election.quickvote?
+      token.destroy and token.reload if token
+      self.token = Token.new
+      self.save
+    end
   end
 
   def confirm?
-    if confirm == 1
-      return true
-    else 
-      return false
-    end
+    confirmed == 1
   end
   
   def votestring=(string="")
@@ -73,4 +76,8 @@ class Vote < ActiveRecord::Base
     self.votes = rel_votes.collect { |vote| candidate_ids[ vote - 1 ] }
   end
 
+  def votestring
+    self.votes.join("")
+  end
+
 end

Benjamin Mako Hill || Want to submit a patch?