Search improved

This commit is contained in:
Dmitriy Zaporozhets 2012-04-14 11:16:11 +03:00
parent 8dc2989665
commit 5f31989a05
4 changed files with 51 additions and 22 deletions

View file

@ -4,9 +4,11 @@ class SearchController < ApplicationController
if query.blank?
@projects = []
@merge_requests = []
@issues = []
else
@projects = Project.search(query).limit(10)
@merge_requests = MergeRequest.search(query).limit(10)
@projects = current_user.projects.search(query).limit(10)
@merge_requests = MergeRequest.where(:project_id => current_user.project_ids).search(query).limit(10)
@issues = Issue.where(:project_id => current_user.project_ids).search(query).limit(10)
end
end
end

View file

@ -42,6 +42,10 @@ class Issue < ActiveRecord::Base
opened.assigned(user)
end
def self.search query
where("title like :query", :query => "%#{query}%")
end
def today?
Date.today == created_at.to_date
end

View file

@ -97,6 +97,10 @@ class User < ActiveRecord::Base
def cared_merge_requests
MergeRequest.where("author_id = :id or assignee_id = :id", :id => self.id).opened
end
def project_ids
projects.map(&:id)
end
end
# == Schema Information
#

View file

@ -14,6 +14,8 @@
%small Nothing here
- else
- if @projects.any?
%h4 Projects
.padded
- @projects.each do |project|
= link_to project do
%h4
@ -23,6 +25,8 @@
last activity at
= project.last_activity_date.stamp("Aug 25, 2011")
- if @merge_requests.any?
%h4 Merge Requests
.padded
- @merge_requests.each do |merge_request|
= link_to [merge_request.project, merge_request] do
%h5
@ -35,6 +39,21 @@
= merge_request.updated_at.stamp("Aug 25, 2011")
%strong
%span.label= merge_request.project.name
- if @issues.any?
%h4 Issues
.padded
- @issues.each do |issue|
= link_to [issue.project, issue] do
%h5
Issue #
= issue.id
&ndash;
= truncate issue.title, :length => 50
%small
updated at
= issue.updated_at.stamp("Aug 25, 2011")
%strong
%span.label= issue.project.name
:javascript
$(function() {
$(".search_results").highlight("#{params[:search]}");