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
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/project_search_results.rb')
-rw-r--r--lib/gitlab/project_search_results.rb30
1 files changed, 14 insertions, 16 deletions
diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb
index 04df881bf03..fce6ff1fe8b 100644
--- a/lib/gitlab/project_search_results.rb
+++ b/lib/gitlab/project_search_results.rb
@@ -17,9 +17,9 @@ module Gitlab
when 'notes'
notes.page(page).per(per_page)
when 'blobs'
- Kaminari.paginate_array(blobs).page(page).per(per_page)
+ blobs(page: page)
when 'wiki_blobs'
- Kaminari.paginate_array(wiki_blobs).page(page).per(per_page)
+ wiki_blobs(page: page)
when 'commits'
Kaminari.paginate_array(commits).page(page).per(per_page)
else
@@ -28,7 +28,7 @@ module Gitlab
end
def blobs_count
- @blobs_count ||= blobs.count
+ @blobs_count ||= blobs.total_count
end
# rubocop: disable CodeReuse/ActiveRecord
@@ -48,7 +48,7 @@ module Gitlab
# rubocop: enable CodeReuse/ActiveRecord
def wiki_blobs_count
- @wiki_blobs_count ||= wiki_blobs.count
+ @wiki_blobs_count ||= wiki_blobs.total_count
end
def commits_count
@@ -97,24 +97,22 @@ module Gitlab
private
- def blobs
- return [] unless Ability.allowed?(@current_user, :download_code, @project)
+ def blobs(page: nil)
+ return Kaminari.paginate_array([]) unless Ability.allowed?(@current_user, :download_code, @project)
- @blobs ||= Gitlab::FileFinder.new(project, repository_project_ref).find(query)
+ @blobs ||= Gitlab::FileFinder.new(project, repository_project_ref, page: page, per_page: per_page).find(query)
end
- def wiki_blobs
- return [] unless Ability.allowed?(@current_user, :read_wiki, @project)
+ def wiki_blobs(page: nil)
+ unless Ability.allowed?(@current_user, :read_wiki, @project)
+ return Kaminari.paginate_array([])
+ end
@wiki_blobs ||= begin
- if project.wiki_enabled? && query.present?
- unless project.wiki.empty?
- Gitlab::WikiFileFinder.new(project, repository_wiki_ref).find(query)
- else
- []
- end
+ if project.wiki_enabled? && query.present? && !project.wiki.empty?
+ Gitlab::WikiFileFinder.new(project, repository_wiki_ref, page: page, per_page: per_page, limit: count_limit).find(query)
else
- []
+ Kaminari.paginate_array([])
end
end
end