diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index ec33f1f8d..3acef467f 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -15,6 +15,16 @@ class Admin::DomainsController < AdminController normalize_search_parameters do @q = domains.search(params[:q]) @domains = @q.result.page(params[:page]) + if @domains.count == 1 + redirect_to [:admin, @domains.first] and return + elsif @domains.count == 0 && params[:q][:name_matches] !~ /^%.+%$/ + # if we do not get any results, add wildcards to the name field and search again + n_cache = params[:q][:name_matches] + params[:q][:name_matches] = "%#{params[:q][:name_matches]}%" + @q = domains.search(params[:q]) + @domains = @q.result.page(params[:page]) + params[:q][:name_matches] = n_cache # we don't want to show wildcards in search form + end end end diff --git a/app/models/domain.rb b/app/models/domain.rb index b951e7f8e..58ea14186 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -5,7 +5,6 @@ class Domain < ActiveRecord::Base # TODO: whois requests ip whitelist for full info for own domains and partial info for other domains # TODO: most inputs should be trimmed before validatation, probably some global logic? - paginates_per 10 # just for showoff belongs_to :registrar belongs_to :registrant diff --git a/app/views/admin/domains/index.haml b/app/views/admin/domains/index.haml index e7ab91ccb..94d8d82c2 100644 --- a/app/views/admin/domains/index.haml +++ b/app/views/admin/domains/index.haml @@ -2,12 +2,12 @@ .row .col-md-12 - = search_form_for [:admin, @q], html: { style: 'margin-bottom: 0;', class: 'js-form' } do |f| + = search_form_for [:admin, @q], html: { style: 'margin-bottom: 0;', class: 'js-form', autocomplete: 'off' } do |f| .row .col-md-3 .form-group = f.label :name - = f.search_field :name_cont, class: 'form-control', placeholder: t(:name) + = f.search_field :name_matches, value: params[:q][:name_matches], class: 'form-control', placeholder: t(:name) .col-md-3 .form-group = f.label t(:registrant_ident)