diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-11 00:16:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-11 00:16:54 +0300 |
commit | b61136518a6b08100f931f5d995a5c08968904e1 (patch) | |
tree | 75f8efb26d1c5930da75ee1bb66cfcd74b102052 /app | |
parent | e108710cd11b7f9d6d7a1fc617896f53e45e2a87 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/concerns/renders_member_access.rb | 3 | ||||
-rw-r--r-- | app/controllers/concerns/renders_projects_list.rb | 3 | ||||
-rw-r--r-- | app/presenters/search_service_presenter.rb | 3 |
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 |