From 1accf2a072bfa34b77162c29f42e556b8ec54056 Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Mon, 15 Mar 2021 23:36:27 +0000 Subject: Delete spent time custom field values not visible by the user after assignment (#33550). Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@20802 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/time_entry.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'app/models') diff --git a/app/models/time_entry.rb b/app/models/time_entry.rb index ccf8b4461..1b0e18195 100644 --- a/app/models/time_entry.rb +++ b/app/models/time_entry.rb @@ -128,7 +128,14 @@ class TimeEntry < ActiveRecord::Base else @invalid_user_id = nil end + + # Delete assigned custom fields not visible by the user + editable_custom_field_ids = editable_custom_field_values(user).map {|v| v.custom_field_id.to_s} + self.custom_field_values.delete_if do |c| + !editable_custom_field_ids.include?(c.custom_field.id.to_s) + end end + attrs end @@ -199,7 +206,7 @@ class TimeEntry < ActiveRecord::Base # Returns the custom_field_values that can be edited by the given user def editable_custom_field_values(user=nil) - visible_custom_field_values + visible_custom_field_values(user) end # Returns the custom fields that can be edited by the given user -- cgit v1.2.3