]> projects.mako.cc - selectricity-live/blobdiff - app/models/quick_vote.rb
Fix crasher when nil is passed to ident_to_quickvote
[selectricity-live] / app / models / quick_vote.rb
index 6259784bfbaf1bc847ad8e67b6fad04a2722cf45..ce4a4fb5d3fe1dd142e4db139262c68c5bc6a069 100644 (file)
@@ -63,7 +63,6 @@ class QuickVote < Election
       preference_tally << voter.vote.rankings.sort.collect \
         { |ranking| ranking.candidate.id }
     end
       preference_tally << voter.vote.rankings.sort.collect \
         { |ranking| ranking.candidate.id }
     end
-
     @plurality_result = PluralityVote.new(plurality_tally).result
     @approval_result = ApprovalVote.new(approval_tally).result
     @condorcet_result = PureCondorcetVote.new(preference_tally).result
     @plurality_result = PluralityVote.new(plurality_tally).result
     @approval_result = ApprovalVote.new(approval_tally).result
     @condorcet_result = PureCondorcetVote.new(preference_tally).result
@@ -72,6 +71,17 @@ class QuickVote < Election
     #@runoff_result = InstantRunoffVote.new(preference_tally).result
     #@runoff_results = PluralityVote.new(preference_tally).result
 
     #@runoff_result = InstantRunoffVote.new(preference_tally).result
     #@runoff_results = PluralityVote.new(preference_tally).result
 
+  end
+
+  ### Convert a shortname or id into a QuickVote
+  def self.ident_to_quickvote(ident)
+    return nil unless ident
+    if ident.match(/^\d+$/)
+      quickvote = QuickVote.find(ident)
+    else
+      quickvote = QuickVote.find_all(["name = ?", ident])[0]
+    end
 
 
+    return quickvote
   end
 end
   end
 end

Benjamin Mako Hill || Want to submit a patch?