Updating custom fields does not trigger update to "updated_on" field in the customized object (#5354).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@19541 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2020-02-29 06:42:00 +00:00
parent 3666bd7017
commit b9b841b23f
2 changed files with 25 additions and 0 deletions

View File

@@ -146,6 +146,7 @@ module Redmine
end
self.custom_values = target_custom_values
custom_values.each(&:save)
touch if !saved_changes? && custom_values.any?(&:saved_changes?)
@custom_field_values_changed = false
true
end

View File

@@ -994,6 +994,30 @@ class ProjectsControllerTest < Redmine::ControllerTest
assert_equal ['documents', 'issue_tracking', 'repository'], Project.find(1).enabled_module_names.sort
end
def test_update_custom_field_should_update_updated_on
@request.session[:user_id] = 2
project = Project.find(1)
project.update_attribute :updated_on, nil
assert_equal 'Stable', project.custom_value_for(3).value
travel_to Time.current do
post(
:update,
:params => {
:id => 1,
:project => {
:custom_field_values => {'3' => 'Alpha'}
}
}
)
assert_redirected_to '/projects/ecookbook/settings'
assert_equal 'Successful update.', flash[:notice]
project.reload
assert_equal 'Alpha', project.custom_value_for(3).value
assert_equal Time.current, project.updated_on
end
end
def test_destroy_leaf_project_without_confirmation_should_show_confirmation
@request.session[:user_id] = 1 # admin