Fixed that custom_field_values are not reloaded on #reload (#13119).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11349 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2013-02-11 17:38:30 +00:00
parent eed4954f0a
commit 514f2d6c0f
2 changed files with 23 additions and 0 deletions

View File

@ -32,6 +32,8 @@ module Redmine
:order => "#{CustomField.table_name}.position", :order => "#{CustomField.table_name}.position",
:dependent => :delete_all, :dependent => :delete_all,
:validate => false :validate => false
send :alias_method, :reload_without_custom_fields, :reload
send :include, Redmine::Acts::Customizable::InstanceMethods send :include, Redmine::Acts::Customizable::InstanceMethods
validate :validate_custom_field_values validate :validate_custom_field_values
after_save :save_custom_field_values after_save :save_custom_field_values
@ -152,6 +154,12 @@ module Redmine
@custom_field_values_changed = true @custom_field_values_changed = true
end end
def reload(*args)
@custom_field_values = nil
@custom_field_values_changed = false
reload_without_custom_fields(*args)
end
module ClassMethods module ClassMethods
end end
end end

View File

@ -421,6 +421,21 @@ class IssueTest < ActiveSupport::TestCase
assert_equal 'MySQL', issue.custom_field_value(1) assert_equal 'MySQL', issue.custom_field_value(1)
end end
def test_reload_should_reload_custom_field_values
issue = Issue.generate!
issue.custom_field_values = {'2' => 'Foo'}
issue.save!
issue = Issue.order('id desc').first
assert_equal 'Foo', issue.custom_field_value(2)
issue.custom_field_values = {'2' => 'Bar'}
assert_equal 'Bar', issue.custom_field_value(2)
issue.reload
assert_equal 'Foo', issue.custom_field_value(2)
end
def test_should_update_issue_with_disabled_tracker def test_should_update_issue_with_disabled_tracker
p = Project.find(1) p = Project.find(1)
issue = Issue.find(1) issue = Issue.find(1)