diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 10:00:54 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 10:00:54 +0000 |
commit | 3cccd102ba543e02725d247893729e5c73b38295 (patch) | |
tree | f36a04ec38517f5deaaacb5acc7d949688d1e187 /app/services/issuable_base_service.rb | |
parent | 205943281328046ef7b4528031b90fbda70c75ac (diff) | |
download | gitlab-ce-3cccd102ba543e02725d247893729e5c73b38295.tar.gz |
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'app/services/issuable_base_service.rb')
-rw-r--r-- | app/services/issuable_base_service.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index a63c54df4a6..03115416607 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -525,6 +525,10 @@ class IssuableBaseService < ::BaseProjectService attrs_changed || labels_changed || assignees_changed || reviewers_changed end + def has_label_changes?(issuable, old_labels) + Set.new(issuable.labels) != Set.new(old_labels) + end + def invalidate_cache_counts(issuable, users: []) users.each do |user| user.public_send("invalidate_#{issuable.noteable_target_type_name}_cache_counts") # rubocop:disable GitlabSecurity/PublicSend @@ -532,6 +536,16 @@ class IssuableBaseService < ::BaseProjectService end # override if needed + def handle_label_changes(issuable, old_labels) + return unless has_label_changes?(issuable, old_labels) + + # reset to preserve the label sort order (title ASC) + issuable.labels.reset + + GraphqlTriggers.issuable_labels_updated(issuable) + end + + # override if needed def handle_changes(issuable, options) end |