Merged r10801 from trunk (#12349).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.1-stable@10819 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2012-11-17 08:50:19 +00:00
parent af51a68b34
commit ab69845ea2
2 changed files with 12 additions and 3 deletions
+3 -3
View File
@@ -30,13 +30,13 @@ class Principal < ActiveRecord::Base
if q.blank?
{}
else
q = q.to_s.downcase
q = q.to_s
pattern = "%#{q}%"
sql = "LOWER(login) LIKE :p OR LOWER(firstname) LIKE :p OR LOWER(lastname) LIKE :p OR LOWER(mail) LIKE :p"
sql = "LOWER(login) LIKE LOWER(:p) OR LOWER(firstname) LIKE LOWER(:p) OR LOWER(lastname) LIKE LOWER(:p) OR LOWER(mail) LIKE LOWER(:p)"
params = {:p => pattern}
if q =~ /^(.+)\s+(.+)$/
a, b = "#{$1}%", "#{$2}%"
sql << " OR (LOWER(firstname) LIKE :a AND LOWER(lastname) LIKE :b) OR (LOWER(firstname) LIKE :b AND LOWER(lastname) LIKE :a)"
sql << " OR (LOWER(firstname) LIKE LOWER(:a) AND LOWER(lastname) LIKE LOWER(:b)) OR (LOWER(firstname) LIKE LOWER(:b) AND LOWER(lastname) LIKE LOWER(:a))"
params.merge!(:a => a, :b => b)
end
{:conditions => [sql, params]}