110152326-registrar_portal_filter

This commit is contained in:
Stas 2016-01-05 14:41:09 +02:00
parent f46c7f5543
commit f3d22e0145
3 changed files with 13 additions and 16 deletions

View file

@ -6,8 +6,15 @@ class Registrar::ContactsController < Registrar::DeppController # EPP controller
params[:q] ||= {} params[:q] ||= {}
params[:q].delete_if { |_k, v| v.blank? } params[:q].delete_if { |_k, v| v.blank? }
if params[:q].length == 1 && params[:q][:name_matches].present?
@contacts = Contact.find_by(name: params[:q][:name_matches]) 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
if search_params.length == 1 && search_params[:name_matches].present?
@contacts = Contact.find_by(name: search_params[:name_matches])
end end
if params[:statuses_contains] if params[:statuses_contains]
@ -19,7 +26,7 @@ class Registrar::ContactsController < Registrar::DeppController # EPP controller
end end
normalize_search_parameters do normalize_search_parameters do
@q = contacts.search(params[:q]) @q = contacts.search(search_params)
@contacts = @q.result.page(params[:page]) @contacts = @q.result.page(params[:page])
end end

View file

@ -29,12 +29,7 @@
.form-group .form-group
= label_tag t(:country) = label_tag t(:country)
= select_tag '[q][country_code_eq]', SortedCountry.all_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' } = select_tag '[q][country_code_eq]', SortedCountry.all_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' }
.col-md-3 .col-md-6
.form-group
= f.label t(:is_registrant)
%div
= f.check_box :registrant_domains_id_not_null
.col-md-3
.form-group .form-group
= label_tag t(:contact_type) = label_tag t(:contact_type)
= select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact'], ['registrant', 'registrant']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' } = select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact'], ['registrant', 'registrant']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }

View file

@ -31,15 +31,10 @@
.form-group .form-group
= label_tag t(:country) = label_tag t(:country)
= select_tag '[q][country_code_eq]', SortedCountry.all_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' } = select_tag '[q][country_code_eq]', SortedCountry.all_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' }
.col-md-3 .col-md-6
.form-group
= f.label t(:is_registrant)
%div
= f.check_box :registrant_domains_id_not_null
.col-md-3
.form-group .form-group
= label_tag t(:contact_type) = label_tag t(:contact_type)
= select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' } = select_tag '[q][domain_contacts_type_in]', options_for_select([['admin', 'AdminDomainContact'], ['tech', 'TechDomainContact'], ['registrant', 'registrant']], params[:q][:domain_contacts_type_in]), { multiple: true, placeholder: t(:choose), class: 'form-control js-combobox' }
.row .row
.col-md-3 .col-md-3
.form-group .form-group