Commit 5f31989a0501c12ae609709f8707841ec3fc7e31
1 parent
8dc29896
Exists in
master
and in
4 other branches
Search improved
Showing
4 changed files
with
51 additions
and
22 deletions
Show diff stats
app/controllers/search_controller.rb
| ... | ... | @@ -4,9 +4,11 @@ class SearchController < ApplicationController |
| 4 | 4 | if query.blank? |
| 5 | 5 | @projects = [] |
| 6 | 6 | @merge_requests = [] |
| 7 | + @issues = [] | |
| 7 | 8 | else |
| 8 | - @projects = Project.search(query).limit(10) | |
| 9 | - @merge_requests = MergeRequest.search(query).limit(10) | |
| 9 | + @projects = current_user.projects.search(query).limit(10) | |
| 10 | + @merge_requests = MergeRequest.where(:project_id => current_user.project_ids).search(query).limit(10) | |
| 11 | + @issues = Issue.where(:project_id => current_user.project_ids).search(query).limit(10) | |
| 10 | 12 | end |
| 11 | 13 | end |
| 12 | 14 | end | ... | ... |
app/models/issue.rb
app/models/user.rb
| ... | ... | @@ -97,6 +97,10 @@ class User < ActiveRecord::Base |
| 97 | 97 | def cared_merge_requests |
| 98 | 98 | MergeRequest.where("author_id = :id or assignee_id = :id", :id => self.id).opened |
| 99 | 99 | end |
| 100 | + | |
| 101 | + def project_ids | |
| 102 | + projects.map(&:id) | |
| 103 | + end | |
| 100 | 104 | end |
| 101 | 105 | # == Schema Information |
| 102 | 106 | # | ... | ... |
app/views/search/show.html.haml
| ... | ... | @@ -14,27 +14,46 @@ |
| 14 | 14 | %small Nothing here |
| 15 | 15 | - else |
| 16 | 16 | - if @projects.any? |
| 17 | - - @projects.each do |project| | |
| 18 | - = link_to project do | |
| 19 | - %h4 | |
| 20 | - %span.ico.project | |
| 21 | - = project.name | |
| 22 | - %small | |
| 23 | - last activity at | |
| 24 | - = project.last_activity_date.stamp("Aug 25, 2011") | |
| 17 | + %h4 Projects | |
| 18 | + .padded | |
| 19 | + - @projects.each do |project| | |
| 20 | + = link_to project do | |
| 21 | + %h4 | |
| 22 | + %span.ico.project | |
| 23 | + = project.name | |
| 24 | + %small | |
| 25 | + last activity at | |
| 26 | + = project.last_activity_date.stamp("Aug 25, 2011") | |
| 25 | 27 | - if @merge_requests.any? |
| 26 | - - @merge_requests.each do |merge_request| | |
| 27 | - = link_to [merge_request.project, merge_request] do | |
| 28 | - %h5 | |
| 29 | - Merge Request # | |
| 30 | - = merge_request.id | |
| 31 | - – | |
| 32 | - = truncate merge_request.title, :length => 50 | |
| 33 | - %small | |
| 34 | - updated at | |
| 35 | - = merge_request.updated_at.stamp("Aug 25, 2011") | |
| 36 | - %strong | |
| 37 | - %span.label= merge_request.project.name | |
| 28 | + %h4 Merge Requests | |
| 29 | + .padded | |
| 30 | + - @merge_requests.each do |merge_request| | |
| 31 | + = link_to [merge_request.project, merge_request] do | |
| 32 | + %h5 | |
| 33 | + Merge Request # | |
| 34 | + = merge_request.id | |
| 35 | + – | |
| 36 | + = truncate merge_request.title, :length => 50 | |
| 37 | + %small | |
| 38 | + updated at | |
| 39 | + = merge_request.updated_at.stamp("Aug 25, 2011") | |
| 40 | + %strong | |
| 41 | + %span.label= merge_request.project.name | |
| 42 | + - if @issues.any? | |
| 43 | + %h4 Issues | |
| 44 | + .padded | |
| 45 | + - @issues.each do |issue| | |
| 46 | + = link_to [issue.project, issue] do | |
| 47 | + %h5 | |
| 48 | + Issue # | |
| 49 | + = issue.id | |
| 50 | + – | |
| 51 | + = truncate issue.title, :length => 50 | |
| 52 | + %small | |
| 53 | + updated at | |
| 54 | + = issue.updated_at.stamp("Aug 25, 2011") | |
| 55 | + %strong | |
| 56 | + %span.label= issue.project.name | |
| 38 | 57 | :javascript |
| 39 | 58 | $(function() { |
| 40 | 59 | $(".search_results").highlight("#{params[:search]}"); | ... | ... |