From 2b550906fcb896c09f273d1672eb165004aa550a Mon Sep 17 00:00:00 2001 From: danielgrippi Date: Fri, 29 Jul 2011 14:05:59 -0700 Subject: [PATCH] downcase query string for search --- app/models/person.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/person.rb b/app/models/person.rb index a8c9720b6..05b0e87d4 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -45,6 +45,8 @@ class Person < ActiveRecord::Base scope :searchable, joins(:profile).where(:profiles => {:searchable => true}) def self.search_query_string(query) + query = query.downcase + if postgres? where_clause = <<-SQL profiles.full_name ILIKE ? OR @@ -57,7 +59,7 @@ class Person < ActiveRecord::Base SQL end - q_tokens = query.to_s.strip.gsub(/(\s|$|^)/) { "%#{$1}" } + q_tokens = query.to_s.strip.gsub(/(\s|$)/) { "%#{$1}" } [where_clause, [q_tokens, q_tokens]] end @@ -66,6 +68,8 @@ class Person < ActiveRecord::Base sql, tokens = self.search_query_string(query) + pp tokens + Person.searchable.where(sql, *tokens).joins( "LEFT OUTER JOIN contacts ON contacts.user_id = #{user.id} AND contacts.person_id = people.id" ).includes(:profile