From b46f387fcff1766315a05091a44c6b69c162697f Mon Sep 17 00:00:00 2001 From: Thiago Youssef Date: Tue, 29 Mar 2022 10:39:29 +0300 Subject: [PATCH] Add partial and wildcard search on `/admin/contacts` --- app/controllers/admin/contacts_controller.rb | 12 +++++------- app/views/admin/contacts/index.haml | 6 +++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/app/controllers/admin/contacts_controller.rb b/app/controllers/admin/contacts_controller.rb index 192b86242..955ab4df2 100644 --- a/app/controllers/admin/contacts_controller.rb +++ b/app/controllers/admin/contacts_controller.rb @@ -9,10 +9,8 @@ module Admin params[:q] ||= {} search_params = params[:q].deep_dup - if search_params[:domain_contacts_type_in].is_a?(Array) && - search_params[:domain_contacts_type_in].delete('registrant') - search_params[:registrant_domains_id_not_null] = 1 - end + search_params[:registrant_domains_id_not_null] = 1 if search_params[:domain_contacts_type_in].is_a?(Array) && + search_params[:domain_contacts_type_in].delete('registrant') contacts = Contact.includes(:registrar).joins(:registrar) .select('contacts.*, registrars.name as registrars_name') @@ -20,7 +18,7 @@ module Admin contacts = filter_by_flags(contacts) normalize_search_parameters do - @q = contacts.ransack(search_params) + @q = contacts.ransack(PartialSearchFormatter.format(search_params)) @contacts = @q.result.distinct.page(params[:page]) end @@ -33,6 +31,7 @@ module Admin if params[:only_no_country_code].eql?('1') contacts = contacts.where("ident_country_code is null or ident_country_code=''") end + contacts = contacts.email_verification_failed if params[:email_verification_failed].eql?('1') contacts end @@ -41,8 +40,7 @@ module Admin render json: Contact.search_by_query(params[:q]) end - def edit - end + def edit; end def update cp = ignore_empty_statuses diff --git a/app/views/admin/contacts/index.haml b/app/views/admin/contacts/index.haml index 0812913a1..8e7a2c244 100644 --- a/app/views/admin/contacts/index.haml +++ b/app/views/admin/contacts/index.haml @@ -11,11 +11,11 @@ .col-md-3 .form-group = f.label t(:id) - = f.search_field :code_matches, class: 'form-control', placeholder: t(:id) + = f.search_field :code_matches, value: params[:q][:code_matches], class: 'form-control', placeholder: t(:id) .col-md-3 .form-group = f.label t(:ident) - = f.search_field :ident_matches, class: 'form-control', placeholder: t(:ident) + = f.search_field :ident_matches, value: params[:q][:ident_matches], class: 'form-control', placeholder: t(:ident) .col-md-3 .form-group = label_tag t(:ident_type) @@ -24,7 +24,7 @@ .col-md-3 .form-group = f.label t(:email) - = f.search_field :email_matches, class: 'form-control', placeholder: t(:email) + = f.search_field :email_matches, value: params[:q][:email_matches], class: 'form-control', placeholder: t(:email) .col-md-3 .form-group = label_tag t(:country)