search engine improvements and simple test

git-svn-id: http://redmine.rubyforge.org/svn/trunk@285 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2007-02-28 22:35:22 +00:00
parent 1fcc9e977f
commit 83c96d4f3e
5 changed files with 195 additions and 15 deletions
+5 -3
View File
@@ -544,10 +544,12 @@ class ProjectsController < ApplicationController
@scope = params[:scope] || (params[:submit] ? [] : %w(issues news documents) )
if @token and @token.length > 2
@token.strip!
like_token = "%#{@token}%"
@results = []
@results += @project.issues.find(:all, :include => :author, :conditions => ["issues.subject like ?", "%#{@token}%"] ) if @scope.include? 'issues'
@results += @project.news.find(:all, :conditions => ["news.title like ?", "%#{@token}%"], :include => :author ) if @scope.include? 'news'
@results += @project.documents.find(:all, :conditions => ["title like ?", "%#{@token}%"] ) if @scope.include? 'documents'
@results += @project.issues.find(:all, :include => :author, :conditions => ["issues.subject like ? or issues.description like ?", like_token, like_token] ) if @scope.include? 'issues'
@results += @project.news.find(:all, :conditions => ["news.title like ? or news.description like ?", like_token, like_token], :include => :author ) if @scope.include? 'news'
@results += @project.documents.find(:all, :conditions => ["title like ? or description like ?", like_token, like_token] ) if @scope.include? 'documents'
end
end