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:
parent
eed4954f0a
commit
514f2d6c0f
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue