From ff33eaa03137327ea4efb78ddb86052777b11a85 Mon Sep 17 00:00:00 2001 From: Stas Date: Wed, 20 Apr 2016 18:59:13 +0300 Subject: [PATCH] 108869472-like_query --- app/controllers/admin/domain_versions_controller.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 463bd8739..88e681b8b 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -9,12 +9,14 @@ class Admin::DomainVersionsController < AdminController search_params = params[:q].deep_dup if search_params[:registrant] - registrant = Contact.find_by(name: search_params[:registrant].strip) + #registrants = Contact.find_by(name: search_params[:registrant].strip) + registrants = Contact.where("name like ?", "%#{search_params[:registrant].strip}%") search_params.delete(:registrant) end if search_params[:registrar] - registrar = Registrar.find_by(name: search_params[:registrar].strip) + #registrar = Registrar.find_by(name: search_params[:registrar].strip) + registrars = Registrar.where("name like ?", "%#{search_params[:registrar].strip}%") search_params.delete(:registrar) end @@ -30,8 +32,8 @@ class Admin::DomainVersionsController < AdminController end end - whereS += " AND object->>'registrant_id' = '#{registrant.id}'" if registrant - whereS += " AND object->>'registrar_id' = '#{registrar.id}'" if registrar + whereS += " AND object->>'registrant_id' IN (#{registrants.map { |r| "'#{r.id.to_s}'" }.join ','})" if registrants + whereS += " AND object->>'registrar_id' IN (#{registrars.map { |r| "'#{r.id.to_s}'" }.join ','})" if registrars versions = DomainVersion.includes(:item).where(whereS) @q = versions.search(params[:q])