diff options
author | Rémy Coutable <remy@rymai.me> | 2017-11-13 12:44:52 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-11-13 12:44:52 +0000 |
commit | 2e13dafbe822077280a5e30d9807963af457e20e (patch) | |
tree | 637bf45aca0a9918fef1461130a0cb08831c6fa2 /app | |
parent | c608c25003906da8c934b99fc0d1bdf6f8e21c90 (diff) | |
parent | 3963f91ee355e26778dc6a6ccfd844af3cee194f (diff) | |
download | gitlab-ce-2e13dafbe822077280a5e30d9807963af457e20e.tar.gz |
Merge branch '39602-move-update-project-counter-caches-out-of-issues-merge-requests' into 'master'
Move update_project_counter_caches? out of issue and merge request
Closes #39602
See merge request gitlab-org/gitlab-ce!15300
Diffstat (limited to 'app')
-rw-r--r-- | app/models/issue.rb | 4 | ||||
-rw-r--r-- | app/models/merge_request.rb | 4 | ||||
-rw-r--r-- | app/services/issuable_base_service.rb | 6 | ||||
-rw-r--r-- | app/services/issues/base_service.rb | 4 |
4 files changed, 9 insertions, 9 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb index 3b3c7fb7f8b..b5abc8f57b0 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -262,10 +262,6 @@ class Issue < ActiveRecord::Base true end - def update_project_counter_caches? - state_changed? || confidential_changed? - end - def update_project_counter_caches Projects::OpenIssuesCountService.new(project).refresh_cache end diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index dd4e67bc9da..f1a5cc73e83 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -958,10 +958,6 @@ class MergeRequest < ActiveRecord::Base true end - def update_project_counter_caches? - state_changed? - end - def update_project_counter_caches Projects::OpenMergeRequestsCountService.new(target_project).refresh_cache end diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 68b49d880f7..90865867ff0 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -187,7 +187,7 @@ class IssuableBaseService < BaseService # We have to perform this check before saving the issuable as Rails resets # the changed fields upon calling #save. - update_project_counters = issuable.project && issuable.update_project_counter_caches? + update_project_counters = issuable.project && update_project_counter_caches?(issuable) if issuable.with_transaction_returning_status { issuable.save } # We do not touch as it will affect a update on updated_at field @@ -288,4 +288,8 @@ class IssuableBaseService < BaseService # override if needed def execute_hooks(issuable, action = 'open', params = {}) end + + def update_project_counter_caches?(issuable) + issuable.state_changed? + end end diff --git a/app/services/issues/base_service.rb b/app/services/issues/base_service.rb index 735257c4779..b680eaf5a49 100644 --- a/app/services/issues/base_service.rb +++ b/app/services/issues/base_service.rb @@ -45,5 +45,9 @@ module Issues params.delete(:assignee_ids) end end + + def update_project_counter_caches?(issue) + super || issue.confidential_changed? + end end end |