Merge pull request #7695 from coverer/search_wiki

Added search wiki feature
This commit is contained in:
Dmitriy Zaporozhets 2014-09-09 16:50:43 +03:00
commit 0e78d00bcb
4 changed files with 34 additions and 2 deletions

View file

@ -10,7 +10,8 @@ class SearchController < ApplicationController
@search_results = if @project
return access_denied! unless can?(current_user, :download_code, @project)
unless %w(blobs notes issues merge_requests).include?(@scope)
unless %w(blobs notes issues merge_requests wiki_blobs).
include?(@scope)
@scope = 'blobs'
end

View file

@ -23,3 +23,9 @@
Comments
.pull-right
= @search_results.notes_count
%li{class: ("active" if @scope == 'wiki_blobs')}
= link_to search_filter_path(scope: 'wiki_blobs') do
Wiki
.pull-right
= @search_results.wiki_blobs_count

View file

@ -0,0 +1,9 @@
.blob-result
.file-holder
.file-title
= link_to project_wiki_path(@project, wiki_blob.filename) do
%i.icon-file
%strong
= wiki_blob.filename
.file-content.code.term
= render 'shared/file_hljs', blob: wiki_blob, first_line_number: wiki_blob.startline

View file

@ -14,13 +14,16 @@ module Gitlab
notes.page(page).per(per_page)
when 'blobs'
Kaminari.paginate_array(blobs).page(page).per(per_page)
when 'wiki_blobs'
Kaminari.paginate_array(wiki_blobs).page(page).per(per_page)
else
super
end
end
def total_count
@total_count ||= issues_count + merge_requests_count + blobs_count + notes_count
@total_count ||= issues_count + merge_requests_count + blobs_count +
notes_count + wiki_blobs_count
end
def blobs_count
@ -31,6 +34,10 @@ module Gitlab
@notes_count ||= notes.count
end
def wiki_blobs_count
@wiki_blobs_count ||= wiki_blobs.count
end
private
def blobs
@ -41,6 +48,15 @@ module Gitlab
end
end
def wiki_blobs
if !project.wiki_enabled?
[]
else
Repository.new(ProjectWiki.new(project).path_with_namespace).
search_files(query)
end
end
def notes
Note.where(project_id: limit_project_ids).search(query).order('updated_at DESC')
end