summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-11-13 22:01:31 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-11-13 22:01:31 +0000
commitce04c41830d7cc301c7827bfe0c7108815a2bbe6 (patch)
tree547079ace68123a23d5951d0dee7f0d171c9c799 /app/models
parent37c590bfef20c6b08e67be96201c150fa1621fca (diff)
downloadredmine-ce04c41830d7cc301c7827bfe0c7108815a2bbe6.tar.gz
redmine-ce04c41830d7cc301c7827bfe0c7108815a2bbe6.zip
Fixed that Principal#like scope does not work with cyrillic characters and Postgresql (#12349).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10801 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r--app/models/principal.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/app/models/principal.rb b/app/models/principal.rb
index 2b89e16a9..90b56b6a1 100644
--- a/app/models/principal.rb
+++ b/app/models/principal.rb
@@ -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]}