diff --git a/app/controllers/registrar/domains_controller.rb b/app/controllers/registrar/domains_controller.rb index 581b517ae..1a46da463 100644 --- a/app/controllers/registrar/domains_controller.rb +++ b/app/controllers/registrar/domains_controller.rb @@ -11,27 +11,27 @@ class Registrar search_params[:name_matches].present? domain = Domain.find_by(name: search_params[:name_matches]) - if domain - redirect_to info_registrar_domains_url(domain_name: domain.name) and return - end + redirect_to info_registrar_domains_url(domain_name: domain.name) and return if domain end domains = if params[:statuses_contains] - current_registrar_user.registrar.domains - .includes(:registrar, :registrant) - .where('domains.statuses @> ?::varchar[]', - "{#{params[:statuses_contains].join(',')}}") + current_domain_scope.where('domains.statuses @> ?::varchar[]', + "{#{params[:statuses_contains].join(',')}}") else - current_registrar_user.registrar.domains.includes(:registrar, :registrant) + current_domain_scope end + if params[:contacts_ident_eq] + domains = domains.where(contacts: { ident: params[:contacts_ident_eq] }) + end + normalize_search_parameters do - @q = domains.search(search_params) + @q = domains.search(search_params.except(:contacts_ident_eq)) @domains = @q.result.page(params[:page]) # if we do not get any results, add wildcards to the name field and search again if @domains.count == 0 && search_params[:name_matches] !~ /^%.+%$/ - new_search_params = search_params.to_h + new_search_params = search_params.to_h.except(:contacts_ident_eq) new_search_params[:name_matches] = "%#{new_search_params[:name_matches]}%" @q = domains.search(new_search_params) @domains = @q.result.page(params[:page]) @@ -57,6 +57,10 @@ class Registrar end end + def current_domain_scope + current_registrar_user.registrar.domains.includes(:registrar, :registrant) + end + def info authorize! :info, Depp::Domain @data = @domain.info(params[:domain_name]) if params[:domain_name] diff --git a/app/views/registrar/domains/_search_form.html.erb b/app/views/registrar/domains/_search_form.html.erb index 08b370b76..e9e5b5e1a 100644 --- a/app/views/registrar/domains/_search_form.html.erb +++ b/app/views/registrar/domains/_search_form.html.erb @@ -18,7 +18,8 @@
<%= f.label :contact_ident, for: nil %> - <%= f.search_field :contacts_ident_eq, class: 'form-control', placeholder: t(:contact_ident) %> + <%= f.search_field :contacts_ident_eq, value: search_params[:contacts_ident_eq], + class: 'form-control', placeholder: t(:contact_ident) %>