From 9101dcf11101ef5838dfc06ed3f4c4238d2d11c5 Mon Sep 17 00:00:00 2001
From: Go MAEDA <maeda@farend.jp>
Date: Wed, 30 Jun 2021 02:39:18 +0000
Subject: Project specific TimeEntryActivity name not updating properly
 (#21056).

Patch by Mizuki ISHIKAWA.


git-svn-id: http://svn.redmine.org/redmine/trunk@21054 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 app/models/enumeration.rb | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'app')

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
-- 
cgit v1.2.3