Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-11 00:16:54 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-11 00:16:54 +0300
commitb61136518a6b08100f931f5d995a5c08968904e1 (patch)
tree75f8efb26d1c5930da75ee1bb66cfcd74b102052 /app
parente108710cd11b7f9d6d7a1fc617896f53e45e2a87 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/controllers/concerns/renders_member_access.rb3
-rw-r--r--app/controllers/concerns/renders_projects_list.rb3
-rw-r--r--app/presenters/search_service_presenter.rb3
3 files changed, 8 insertions, 1 deletions
diff --git a/app/controllers/concerns/renders_member_access.rb b/app/controllers/concerns/renders_member_access.rb
index 745830181c1..133d797c8ac 100644
--- a/app/controllers/concerns/renders_member_access.rb
+++ b/app/controllers/concerns/renders_member_access.rb
@@ -15,7 +15,8 @@ module RendersMemberAccess
method_name = "max_member_access_for_#{klass.name.underscore}_ids"
- current_user.public_send(method_name, collection.ids) # rubocop:disable GitlabSecurity/PublicSend
+ collection_ids = collection.try(:map, &:id) || collection.ids
+ current_user.public_send(method_name, collection_ids) # rubocop:disable GitlabSecurity/PublicSend
end
# rubocop: enable CodeReuse/ActiveRecord
end
diff --git a/app/controllers/concerns/renders_projects_list.rb b/app/controllers/concerns/renders_projects_list.rb
index 739b2be3fe9..2d37bc3f9a5 100644
--- a/app/controllers/concerns/renders_projects_list.rb
+++ b/app/controllers/concerns/renders_projects_list.rb
@@ -1,8 +1,11 @@
# frozen_string_literal: true
module RendersProjectsList
+ include RendersMemberAccess
+
def prepare_projects_for_rendering(projects)
preload_max_member_access_for_collection(Project, projects)
+ current_user.preloaded_member_roles_for_projects(projects) if current_user
# Call the count methods on every project, so the BatchLoader would load them all at
# once when the entities are rendered
diff --git a/app/presenters/search_service_presenter.rb b/app/presenters/search_service_presenter.rb
index d7d959217b0..91e67c379c4 100644
--- a/app/presenters/search_service_presenter.rb
+++ b/app/presenters/search_service_presenter.rb
@@ -2,6 +2,7 @@
class SearchServicePresenter < Gitlab::View::Presenter::Delegated
include RendersCommits
+ include RendersProjectsList
presents ::SearchService, as: :search_service
@@ -28,6 +29,8 @@ class SearchServicePresenter < Gitlab::View::Presenter::Delegated
objects.respond_to?(:eager_load) ? objects.eager_load(:status) : objects # rubocop:disable CodeReuse/ActiveRecord
when 'commits'
prepare_commits_for_rendering(objects)
+ when 'projects'
+ prepare_projects_for_rendering(objects)
else
objects
end