diff options
author | Michael Kozono <mkozono@gmail.com> | 2019-08-13 01:02:28 +0300 |
---|---|---|
committer | Michael Kozono <mkozono@gmail.com> | 2019-08-13 01:02:28 +0300 |
commit | 4254f5dc0ea4c226690d0d9abd20d1c9822fefcb (patch) | |
tree | 3cd94454d455b99ae3dd192633fc0942441c46d6 /lib | |
parent | 4ce6d2b9db680b7c8563ee65fe25ee4d38a329e9 (diff) | |
parent | 2f8709fb53137c2f53409f2400cd85083b06d6f6 (diff) |
Merge branch 'ce-12547-load-search-counts-async' into 'master'
Load search result counts asynchronously (CE)
See merge request gitlab-org/gitlab-ce!31663
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/project_search_results.rb | 15 | ||||
-rw-r--r-- | lib/gitlab/search_results.rb | 23 | ||||
-rw-r--r-- | lib/gitlab/snippet_search_results.rb | 11 |
3 files changed, 49 insertions, 0 deletions
diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb index 5e77d31760d..2669adb8455 100644 --- a/lib/gitlab/project_search_results.rb +++ b/lib/gitlab/project_search_results.rb @@ -29,6 +29,21 @@ module Gitlab end end + def formatted_count(scope) + case scope + when 'blobs' + blobs_count.to_s + when 'notes' + formatted_limited_count(limited_notes_count) + when 'wiki_blobs' + wiki_blobs_count.to_s + when 'commits' + commits_count.to_s + else + super + end + end + def users super.where(id: @project.team.members) # rubocop:disable CodeReuse/ActiveRecord end diff --git a/lib/gitlab/search_results.rb b/lib/gitlab/search_results.rb index 7c1e6b1baff..ce4c1611687 100644 --- a/lib/gitlab/search_results.rb +++ b/lib/gitlab/search_results.rb @@ -43,6 +43,29 @@ module Gitlab without_count ? collection.without_count : collection end + def formatted_count(scope) + case scope + when 'projects' + formatted_limited_count(limited_projects_count) + when 'issues' + formatted_limited_count(limited_issues_count) + when 'merge_requests' + formatted_limited_count(limited_merge_requests_count) + when 'milestones' + formatted_limited_count(limited_milestones_count) + when 'users' + formatted_limited_count(limited_users_count) + end + end + + def formatted_limited_count(count) + if count >= COUNT_LIMIT + "#{COUNT_LIMIT - 1}+" + else + count.to_s + end + end + def limited_projects_count @limited_projects_count ||= limited_count(projects) end diff --git a/lib/gitlab/snippet_search_results.rb b/lib/gitlab/snippet_search_results.rb index e360b552f89..ac3b219e0c7 100644 --- a/lib/gitlab/snippet_search_results.rb +++ b/lib/gitlab/snippet_search_results.rb @@ -22,6 +22,17 @@ module Gitlab end end + def formatted_count(scope) + case scope + when 'snippet_titles' + snippet_titles_count.to_s + when 'snippet_blobs' + snippet_blobs_count.to_s + else + super + end + end + def snippet_titles_count @snippet_titles_count ||= snippet_titles.count end |