Commit 4fffd0ef authored by Sean McGivern's avatar Sean McGivern

Merge branch 'ce-10854-elasticsearch_avoid_db' into 'master'

Backport of 10854-elasticsearch_avoid_db

See merge request gitlab-org/gitlab-ce!28579
parents c0acb065 f2698e05
...@@ -25,6 +25,7 @@ class SearchController < ApplicationController ...@@ -25,6 +25,7 @@ class SearchController < ApplicationController
@show_snippets = search_service.show_snippets? @show_snippets = search_service.show_snippets?
@search_results = search_service.search_results @search_results = search_service.search_results
@search_objects = search_service.search_objects @search_objects = search_service.search_objects
@display_options = search_service.display_options
render_commits if @scope == 'commits' render_commits if @scope == 'commits'
eager_load_user_status if @scope == 'users' eager_load_user_status if @scope == 'users'
......
...@@ -72,6 +72,8 @@ class ProjectFeature < ApplicationRecord ...@@ -72,6 +72,8 @@ class ProjectFeature < ApplicationRecord
default_value_for :wiki_access_level, value: ENABLED, allows_nil: false default_value_for :wiki_access_level, value: ENABLED, allows_nil: false
default_value_for :repository_access_level, value: ENABLED, allows_nil: false default_value_for :repository_access_level, value: ENABLED, allows_nil: false
scope :for_project_id, -> (project) { where(project: project) }
def feature_available?(feature, user) def feature_available?(feature, user)
# This feature might not be behind a feature flag at all, so default to true # This feature might not be behind a feature flag at all, so default to true
return false unless ::Feature.enabled?(feature, user, default_enabled: true) return false unless ::Feature.enabled?(feature, user, default_enabled: true)
......
...@@ -52,6 +52,10 @@ class SearchService ...@@ -52,6 +52,10 @@ class SearchService
@search_objects ||= search_results.objects(scope, params[:page]) @search_objects ||= search_results.objects(scope, params[:page])
end end
def display_options
@display_options ||= search_results.display_options(scope)
end
private private
def search_service def search_service
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
.search-results .search-results
- if @scope == 'projects' - if @scope == 'projects'
.term .term
= render 'shared/projects/list', projects: @search_objects, pipeline_status: false = render 'shared/projects/list', { projects: @search_objects, pipeline_status: false }.merge(@display_options)
- else - else
- locals = { projects: blob_projects(@search_objects) } if %w[blobs wiki_blobs].include?(@scope) - locals = { projects: blob_projects(@search_objects) } if %w[blobs wiki_blobs].include?(@scope)
= render partial: "search/results/#{@scope.singularize}", collection: @search_objects, locals: locals = render partial: "search/results/#{@scope.singularize}", collection: @search_objects, locals: locals
......
.search-result-row .search-result-row
%h4 %h4
= confidential_icon(issue) = confidential_icon(issue)
= link_to [issue.project.namespace.becomes(Namespace), issue.project, issue] do = link_to namespace_project_issue_path(issue.project.namespace.becomes(Namespace), issue.project, issue) do
%span.term.str-truncated= issue.title %span.term.str-truncated= issue.title
- if issue.closed? - if issue.closed?
%span.badge.badge-danger.prepend-left-5= _("Closed") %span.badge.badge-danger.prepend-left-5= _("Closed")
......
.search-result-row .search-result-row
%h4 %h4
= link_to [merge_request.target_project.namespace.becomes(Namespace), merge_request.target_project, merge_request] do = link_to namespace_project_merge_request_path(merge_request.target_project.namespace.becomes(Namespace), merge_request.target_project, merge_request) do
%span.term.str-truncated= merge_request.title %span.term.str-truncated= merge_request.title
- if merge_request.merged? - if merge_request.merged?
%span.badge.badge-primary.prepend-left-5= _("Merged") %span.badge.badge-primary.prepend-left-5= _("Merged")
......
.search-result-row .search-result-row
%h4 %h4
= link_to [milestone.project.namespace.becomes(Namespace), milestone.project, milestone] do = link_to namespace_project_milestone_path(milestone.project.namespace.becomes(Namespace), milestone.project, milestone) do
%span.term.str-truncated= milestone.title %span.term.str-truncated= milestone.title
- if milestone.description.present? - if milestone.description.present?
......
...@@ -85,6 +85,10 @@ module Gitlab ...@@ -85,6 +85,10 @@ module Gitlab
UsersFinder.new(current_user, search: query).execute UsersFinder.new(current_user, search: query).execute
end end
def display_options(_scope)
{}
end
private private
def projects def projects
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment