Fixes tracker_id and custom_field_values assignment order for issues (#4353).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3139 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2009-12-09 09:12:29 +00:00
parent 1de2a0b7c7
commit f2520385e4
2 changed files with 31 additions and 0 deletions
+14
View File
@@ -142,8 +142,22 @@ class Issue < ActiveRecord::Base
def tracker_id=(tid)
self.tracker = nil
write_attribute(:tracker_id, tid)
result = write_attribute(:tracker_id, tid)
@custom_field_values = nil
result
end
# Overrides attributes= so that tracker_id gets assigned first
def attributes_with_tracker_first=(new_attributes, *args)
return if new_attributes.nil?
new_tracker_id = new_attributes['tracker_id'] || new_attributes[:tracker_id]
if new_tracker_id
self.tracker_id = new_tracker_id
end
self.attributes_without_tracker_first = new_attributes, *args
end
alias_method_chain :attributes=, :tracker_first
def estimated_hours=(h)
write_attribute :estimated_hours, (h.is_a?(String) ? h.to_hours : h)
end