summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorceldem <celdem@gitlab.com>2019-09-11 11:12:51 +0100
committerceldem <celdem@gitlab.com>2019-09-11 13:33:01 +0100
commit592554ab05adc45f703bb263703b3feff31b6f46 (patch)
treefe8b350aed40097a3dc646b9cb77ef170432d249
parente4b28b42c3b125a7836eaabf77c2fe6df4639429 (diff)
downloadgitlab-ce-backport-add-current-user-compare-services-ce.tar.gz
Backport changes for 16252-EE add current_user to comparison servicesbackport-add-current-user-compare-services-ce
-rw-r--r--app/models/merge_request.rb7
-rw-r--r--app/services/ci/compare_reports_base_service.rb2
2 files changed, 5 insertions, 4 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 901ebcf249f..74f8067db0a 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -1239,7 +1239,7 @@ class MergeRequest < ApplicationRecord
end
def compare_reports(service_class, current_user = nil)
- with_reactive_cache(service_class.name) do |data|
+ with_reactive_cache(service_class.name, current_user&.id) do |data|
unless service_class.new(project, current_user)
.latest?(base_pipeline, actual_head_pipeline, data)
raise InvalidateReactiveCache
@@ -1249,12 +1249,13 @@ class MergeRequest < ApplicationRecord
end || { status: :parsing }
end
- def calculate_reactive_cache(identifier, *args)
+ def calculate_reactive_cache(identifier, current_user_id = nil, *args)
service_class = identifier.constantize
raise NameError, service_class unless service_class < Ci::CompareReportsBaseService
- service_class.new(project).execute(base_pipeline, actual_head_pipeline)
+ current_user = User.find_by(id: current_user_id)
+ service_class.new(project, current_user).execute(base_pipeline, actual_head_pipeline)
end
def all_commits
diff --git a/app/services/ci/compare_reports_base_service.rb b/app/services/ci/compare_reports_base_service.rb
index 6c2d80d8f45..5b76e1824e4 100644
--- a/app/services/ci/compare_reports_base_service.rb
+++ b/app/services/ci/compare_reports_base_service.rb
@@ -41,7 +41,7 @@ module Ci
end
def serializer_params
- { project: project }
+ { project: project, current_user: current_user }
end
def get_report(pipeline)