diff options
Diffstat (limited to 'app/models/custom_field.rb')
-rw-r--r-- | app/models/custom_field.rb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb index ca061a25f..58911b5f7 100644 --- a/app/models/custom_field.rb +++ b/app/models/custom_field.rb @@ -35,7 +35,6 @@ class CustomField < ActiveRecord::Base validates_length_of :regexp, maximum: 255 validates_inclusion_of :field_format, :in => Proc.new { Redmine::FieldFormat.available_formats } validate :validate_custom_field - attr_protected :id before_validation :set_searchable before_save do |field| @@ -43,7 +42,7 @@ class CustomField < ActiveRecord::Base end after_save :handle_multiplicity_change after_save do |field| - if field.visible_changed? && field.visible + if field.saved_change_to_visible? && field.visible field.roles.clear end end @@ -316,7 +315,7 @@ class CustomField < ActiveRecord::Base # Removes multiple values for the custom field after setting the multiple attribute to false # We kepp the value with the highest id for each customized object def handle_multiplicity_change - if !new_record? && multiple_was && !multiple + if !new_record? && multiple_before_last_save && !multiple ids = custom_values. where("EXISTS(SELECT 1 FROM #{CustomValue.table_name} cve WHERE cve.custom_field_id = #{CustomValue.table_name}.custom_field_id" + " AND cve.customized_type = #{CustomValue.table_name}.customized_type AND cve.customized_id = #{CustomValue.table_name}.customized_id" + |