Defect #36318 » 36318.patch
| app/models/enumeration.rb | ||
|---|---|---|
| 117 | 117 |
# Does the +new+ Hash have the same custom values as the previous Enumeration? |
| 118 | 118 |
def self.same_custom_values?(new, previous) |
| 119 | 119 |
previous.custom_field_values.each do |custom_value| |
| 120 |
if custom_value.value != new["custom_field_values"][custom_value.custom_field_id.to_s]
|
|
| 120 |
if custom_value.to_s != new["custom_field_values"][custom_value.custom_field_id.to_s].to_s
|
|
| 121 | 121 |
return false |
| 122 | 122 |
end |
| 123 | 123 |
end |
| test/functional/project_enumerations_controller_test.rb | ||
|---|---|---|
| 93 | 93 |
assert_nil project.time_entry_activities.find_by_name("QA"), "Custom QA activity created when it wasn't modified"
|
| 94 | 94 |
end |
| 95 | 95 | |
| 96 |
def test_update_should_not_create_project_specific_activities_when_setting_empty_value_in_custom_field_with_default_value_of_nil |
|
| 97 |
system_activity = TimeEntryActivity.find(9) # Design |
|
| 98 |
custom_field_value = system_activity.custom_field_values.detect{|cfv| cfv.custom_field.id == 7}
|
|
| 99 |
assert_nil custom_field_value.value |
|
| 100 | ||
| 101 |
assert_no_difference 'TimeEntryActivity.count' do |
|
| 102 |
@request.session[:user_id] = 2 # manager |
|
| 103 |
put( |
|
| 104 |
:update, |
|
| 105 |
:params => {
|
|
| 106 |
:project_id => 1, |
|
| 107 |
:enumerations => {
|
|
| 108 |
"9" => {"parent_id" => "9", "custom_field_values" => {"7" => ""}, "active" => "1"}
|
|
| 109 |
} |
|
| 110 |
} |
|
| 111 |
) |
|
| 112 |
assert_response :redirect |
|
| 113 |
end |
|
| 114 |
end |
|
| 115 | ||
| 96 | 116 |
def test_update_will_update_project_specific_activities |
| 97 | 117 |
@request.session[:user_id] = 2 # manager |
| 98 | 118 | |