OSDN Git Service

Search for blobs by default inside project. Added pagination for blobs search
[wvm/gitlab.git] / app / controllers / search_controller.rb
1 class SearchController < ApplicationController
2   def show
3     project_id = params[:project_id]
4     group_id = params[:group_id]
5
6     project_ids = current_user.authorized_projects.map(&:id)
7
8     if group_id.present?
9       @group = Group.find(group_id)
10       group_project_ids = @group.projects.map(&:id)
11       project_ids.select! { |id| group_project_ids.include?(id)}
12     elsif project_id.present?
13       @project = Project.find(params[:project_id])
14       project_ids.select! { |id| id == project_id.to_i}
15     end
16
17     result = SearchContext.new(project_ids, params).execute
18
19     @projects       = result[:projects]
20     @merge_requests = result[:merge_requests]
21     @issues         = result[:issues]
22     @wiki_pages     = result[:wiki_pages]
23     @blobs          = result[:blobs]
24   end
25 end