summaryrefslogtreecommitdiffstats
path: root/app/models/enumeration.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/enumeration.rb')
-rw-r--r--app/models/enumeration.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/models/enumeration.rb b/app/models/enumeration.rb
index 83efea6df..53360e5ff 100644
--- a/app/models/enumeration.rb
+++ b/app/models/enumeration.rb
@@ -30,6 +30,7 @@ class Enumeration < ActiveRecord::Base
before_destroy :check_integrity
before_save :check_default
+ after_save :update_children_name
validates_presence_of :name
validates_uniqueness_of :name, :scope => [:type, :project_id], :case_sensitive => true
@@ -136,6 +137,12 @@ class Enumeration < ActiveRecord::Base
raise "Cannot delete enumeration" if self.in_use?
end
+ def update_children_name
+ if saved_change_to_name? && self.parent_id.nil?
+ self.class.where(name: self.name_before_last_save, parent_id: self.id).update_all(name: self.name_in_database)
+ end
+ end
+
# Overrides Redmine::Acts::Positioned#set_default_position so that enumeration overrides
# get the same position as the overridden enumeration
def set_default_position