From 6e1ee1fea6400c3621005f1b79e1b8dab43cd000 Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Date: Thu, 9 May 2013 11:46:32 +0300
Subject: [PATCH] made some ui enhancement for search page

---
 app/controllers/search_controller.rb          |  3 +-
 app/views/search/_filter.html.haml            | 49 +++++++++++++------
 app/views/search/show.html.haml               | 14 +++---
 features/steps/project/project_search_code.rb |  1 +
 4 files changed, 43 insertions(+), 24 deletions(-)

diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb
index 73e46c5021..132658c577 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 a523fa254d..f7a00b2348 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 c057459a74..6e343b216d 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 21a564d8c2..0dcd17a0d1 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
-- 
2.30.9