Commit 0e78d00b authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge pull request #7695 from coverer/search_wiki

Added search wiki feature
parents 04cf0745 9edf6d4d
...@@ -10,7 +10,8 @@ class SearchController < ApplicationController ...@@ -10,7 +10,8 @@ class SearchController < ApplicationController
@search_results = if @project @search_results = if @project
return access_denied! unless can?(current_user, :download_code, @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' @scope = 'blobs'
end end
......
...@@ -23,3 +23,9 @@ ...@@ -23,3 +23,9 @@
Comments Comments
.pull-right .pull-right
= @search_results.notes_count = @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
.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
...@@ -14,13 +14,16 @@ module Gitlab ...@@ -14,13 +14,16 @@ module Gitlab
notes.page(page).per(per_page) notes.page(page).per(per_page)
when 'blobs' when 'blobs'
Kaminari.paginate_array(blobs).page(page).per(per_page) Kaminari.paginate_array(blobs).page(page).per(per_page)
when 'wiki_blobs'
Kaminari.paginate_array(wiki_blobs).page(page).per(per_page)
else else
super super
end end
end end
def total_count 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 end
def blobs_count def blobs_count
...@@ -31,6 +34,10 @@ module Gitlab ...@@ -31,6 +34,10 @@ module Gitlab
@notes_count ||= notes.count @notes_count ||= notes.count
end end
def wiki_blobs_count
@wiki_blobs_count ||= wiki_blobs.count
end
private private
def blobs def blobs
...@@ -41,6 +48,15 @@ module Gitlab ...@@ -41,6 +48,15 @@ module Gitlab
end end
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 def notes
Note.where(project_id: limit_project_ids).search(query).order('updated_at DESC') Note.where(project_id: limit_project_ids).search(query).order('updated_at DESC')
end end
......
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