Made a large number of mostly cosmetic fixes after a detailed
[selectricity] / app / models / election.rb
index 29bf1b03e4897ad36f5345b3ec6521e514a8abdf..eaf07276128b3b8b8271646aabc6f936949a9ebb 100644 (file)
@@ -2,6 +2,7 @@ class Election < ActiveRecord::Base
   has_many :candidates
   has_many :voters
   has_many :votes
+  belongs_to :user
   validates_presence_of :name, :description
 
   require 'date'
@@ -18,7 +19,37 @@ class Election < ActiveRecord::Base
     self.candidates.each do |candidate|
       candidate.destroy
     end
-    super destroy
+    super
+  end
+
+  def start_blockers
+    reasons = []
+    
+    if self.candidates.length <= 1
+      reasons << "You must have at least two candidates."
+    end
+    
+    if self.voters.length <= 1
+      reasons << "You must have at least two voters."
+    end
+
+    reasons
+  end
+
+  def activate!
+    self.active = 1
   end
   
+  def quickvote?
+    quickvote.to_i == 1
+  end
+
+  def shortdesc
+    shortdesc = description.split(/\n/)[0]
+  end
+
+  def longdesc
+    longdesc = description.split(/\n/)[1..-1].join("")
+    longdesc.length > 0 ? longdesc : nil 
+  end
 end

Benjamin Mako Hill || Want to submit a patch?