Added default value for enumerations.

Only default issue priority is actually used.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@803 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-10-05 17:44:15 +00:00
parent fd7910efc9
commit 73dba2ac04
7 changed files with 34 additions and 9 deletions
+8 -4
View File
@@ -34,14 +34,18 @@ class Enumeration < ActiveRecord::Base
def self.get_values(option)
find(:all, :conditions => {:opt => option}, :order => 'position')
end
def self.default(option)
find(:first, :conditions => {:opt => option, :is_default => true}, :order => 'position')
end
def option_name
OPTIONS[self.opt]
end
#def <=>(enumeration)
# position <=> enumeration.position
#end
def before_save
Enumeration.update_all("is_default = #{connection.quoted_false}", {:opt => opt}) if is_default?
end
def to_s; name end
+11 -3
View File
@@ -46,9 +46,17 @@ class Issue < ActiveRecord::Base
validates_numericality_of :estimated_hours, :allow_nil => true
validates_associated :custom_values, :on => :update
# set default status for new issues
def before_validation
self.status = IssueStatus.default if status.nil?
def after_initialize
if new_record?
# set default values for new records only
self.status ||= IssueStatus.default
self.priority ||= Enumeration.default('IPRI')
end
end
def priority_id=(pid)
self.priority = nil
write_attribute(:priority_id, pid)
end
def validate