Saving time tracking activities without any change may turn a system activity into a project activity
|Assignee:||Go MAEDA||% Done:|
If you save system activities without editing them in the project settings, some activities will be created as project-specific activities.
#1 Updated by Yuichi HARADA 12 months ago
- File 36318.patch added
The following patch will solve the issue. I have attached a patch.
diff --git a/app/models/enumeration.rb b/app/models/enumeration.rb index 5f0e023ed9..534d8239e1 100644 --- a/app/models/enumeration.rb +++ b/app/models/enumeration.rb @@ -117,7 +117,7 @@ class Enumeration < ActiveRecord::Base # Does the +new+ Hash have the same custom values as the previous Enumeration? def self.same_custom_values?(new, previous) previous.custom_field_values.each do |custom_value| - if custom_value.value != new["custom_field_values"][custom_value.custom_field_id.to_s] + if custom_value.to_s != new["custom_field_values"][custom_value.custom_field_id.to_s].to_s return false end end
Go MAEDA wrote:
Could you explain the conditions that cause this issue?
I understand the condition.
The issue occurs when the value of a custom field of the activity is
nil, and the new value for the custom field in the "new" hash is unset (the value will be a blank string). As a result, the conditional expression of the if statement will be false and a project-specific activity will be wrongly created.
- Subject changed from Saving time tracking activities without any change may turn a system activity to a project activity to Saving time tracking activities without any change may turn a system activity into a project activity
- Status changed from Confirmed to Closed
- Assignee set to Go MAEDA
- Target version changed from 4.1.6 to 5.0.0
- Resolution set to Fixed
Committed the fix. Thank you.