##// END OF EJS Templates
Fixed that custom values get saved when assigning custom values after changing to a tracker with different custom fields (#9737)....
Jean-Philippe Lang -
r7983:a63027e1755f
parent child
Show More
@@ -278,6 +278,22 class IssueTest < ActiveSupport::TestCase
278 assert_equal custom_value.id, issue.custom_value_for(field).id
278 assert_equal custom_value.id, issue.custom_value_for(field).id
279 end
279 end
280
280
281 def test_should_not_update_custom_fields_on_changing_tracker_with_different_custom_fields
282 issue = Issue.new(:project_id => 1)
283 issue.attributes = {:tracker_id => 1, :author_id => 1, :status_id => 1, :subject => 'Test', :custom_field_values => {'2' => 'Test'}}
284 issue.save!
285
286 assert !Tracker.find(2).custom_field_ids.include?(2)
287
288 issue = Issue.find(issue.id)
289 issue.attributes = {:tracker_id => 2, :custom_field_values => {'1' => ''}}
290
291 issue = Issue.find(issue.id)
292 custom_value = issue.custom_value_for(2)
293 assert_not_nil custom_value
294 assert_equal 'Test', custom_value.value
295 end
296
281 def test_assigning_tracker_id_should_reload_custom_fields_values
297 def test_assigning_tracker_id_should_reload_custom_fields_values
282 issue = Issue.new(:project => Project.find(1))
298 issue = Issue.new(:project => Project.find(1))
283 assert issue.custom_field_values.empty?
299 assert issue.custom_field_values.empty?
@@ -71,7 +71,6 module Redmine
71 custom_field_values.each do |custom_value|
71 custom_field_values.each do |custom_value|
72 custom_value.value = values[custom_value.custom_field_id.to_s] if values.has_key?(custom_value.custom_field_id.to_s)
72 custom_value.value = values[custom_value.custom_field_id.to_s] if values.has_key?(custom_value.custom_field_id.to_s)
73 end if values.is_a?(Hash)
73 end if values.is_a?(Hash)
74 self.custom_values = custom_field_values
75 end
74 end
76
75
77 def custom_field_values
76 def custom_field_values
@@ -92,6 +91,7 module Redmine
92 end
91 end
93
92
94 def save_custom_field_values
93 def save_custom_field_values
94 self.custom_values = custom_field_values
95 custom_field_values.each(&:save)
95 custom_field_values.each(&:save)
96 @custom_field_values_changed = false
96 @custom_field_values_changed = false
97 @custom_field_values = nil
97 @custom_field_values = nil
General Comments 0
You need to be logged in to leave comments. Login now