diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index 73e46c5021d..132658c5771 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -6,7 +6,8 @@ class SearchController < ApplicationController project_ids = current_user.authorized_projects.map(&:id) if group_id.present? - group_project_ids = Group.find(group_id).projects.map(&:id) + @group = Group.find(group_id) + group_project_ids = @group.projects.map(&:id) project_ids.select! { |id| group_project_ids.include?(id)} elsif project_id.present? project_ids.select! { |id| id == project_id.to_i} diff --git a/app/views/search/_filter.html.haml b/app/views/search/_filter.html.haml index a523fa254df..f7a00b23480 100644 --- a/app/views/search/_filter.html.haml +++ b/app/views/search/_filter.html.haml @@ -1,16 +1,35 @@ -%fieldset - %legend Groups: - .clearfix - = select_tag 'group_id', options_from_collection_for_select(current_user.authorized_groups, :id, :name, params[:group_id]), prompt: 'All', include_blank: true, class: 'trigger-submit chosen' - - -%fieldset - %legend Teams: - .clearfix - = select_tag 'team_id', options_from_collection_for_select(current_user.authorized_teams, :id, :name, params[:team_id]), prompt: 'All', include_blank: true, class: 'trigger-submit chosen' - -%fieldset - %legend Projects: - .clearfix - = select_tag 'project_id', options_from_collection_for_select(current_user.authorized_projects, :id, :name_with_namespace, params[:project_id]), prompt: 'All', include_blank: true, class: 'trigger-submit chosen' +.dropdown.inline + %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"} + %i.icon-tags + %span.light Group: + - if @group.present? + %strong= @group.name + - else + Any + %b.caret + %ul.dropdown-menu + %li + = link_to search_path(group_id: nil) do + Any + - current_user.authorized_groups.sort_by(&:name).each do |group| + %li + = link_to search_path(group_id: group.id, search: params[:search]) do + = group.name +.dropdown.inline.prepend-left-10 + %a.dropdown-toggle.btn.btn-small{href: '#', "data-toggle" => "dropdown"} + %i.icon-tags + %span.light Project: + - if @project.present? + %strong= @project.name_with_namespace + - else + Any + %b.caret + %ul.dropdown-menu + %li + = link_to search_path(project_id: nil) do + Any + - current_user.authorized_projects.sort_by(&:name_with_namespace).each do |project| + %li + = link_to search_path(project_id: project.id, search: params[:search]) do + = project.name_with_namespace diff --git a/app/views/search/show.html.haml b/app/views/search/show.html.haml index c057459a746..6e343b216da 100644 --- a/app/views/search/show.html.haml +++ b/app/views/search/show.html.haml @@ -6,11 +6,9 @@ = search_field_tag :search, params[:search], placeholder: "issue 143", class: "input-xxlarge search-text-input", id: "dashboard_search" = hidden_field_tag :search_code, params[:search_code] = submit_tag 'Search', class: "btn btn-primary wide" - .clearfix - .row - .span3 - = render 'filter', f: f - .span9 - .results - - if params[:search].present? - = render 'search/result' + .prepend-top-10 + = render 'filter', f: f + + .results.prepend-top-10 + - if params[:search].present? + = render 'search/result' diff --git a/features/steps/project/project_search_code.rb b/features/steps/project/project_search_code.rb index 21a564d8c26..0dcd17a0d13 100644 --- a/features/steps/project/project_search_code.rb +++ b/features/steps/project/project_search_code.rb @@ -6,6 +6,7 @@ class ProjectSearchCode < Spinach::FeatureSteps When 'I search for term "Welcome to Gitlab"' do fill_in "search", with: "Welcome to Gitlab" click_button "Go" + click_link 'Repository Code' end Then 'I should see files from repository containing "Welcome to Gitlab"' do