From 2e839007fd46f4296037634832f056963f63efaa Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Thu, 1 Jul 2021 11:39:27 +0300 Subject: [PATCH 1/6] updated registrar name field in domain admin view --- app/views/admin/domains/_search_form.html.erb | 136 +++++++++--------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/app/views/admin/domains/_search_form.html.erb b/app/views/admin/domains/_search_form.html.erb index 1b1f50491..cc570efbb 100644 --- a/app/views/admin/domains/_search_form.html.erb +++ b/app/views/admin/domains/_search_form.html.erb @@ -1,74 +1,74 @@ <%= search_form_for [:admin, @q], html: { class: 'search-form', autocomplete: 'off' } do |f| %> -
-
-
- <%= f.label :name, for: nil %> - <%= f.search_field :name_matches, value: params[:q][:name_matches], class: 'form-control', placeholder: t(:name) %> -
-
-
-
- <%= f.label :registrant_ident, for: nil %> - <%= f.search_field :registrant_ident_eq, class: 'form-control', placeholder: t(:registrant_ident) %> -
-
-
-
- <%= f.label :contact_ident, for: nil %> - <%= f.search_field :contacts_ident_eq, class: 'form-control', placeholder: t(:contact_ident) %> -
-
-
-
- <%= f.label :nameserver_hostname, for: nil %> - <%= f.search_field :nameservers_hostname_eq, class: 'form-control', placeholder: t(:nameserver_hostname) %> -
-
+
+
+
+ <%= f.label :name, for: nil %> + <%= f.search_field :name_matches, value: params[:q][:name_matches], class: 'form-control', placeholder: t(:name) %>
-
-
-
- <%= f.label :registrar_name, for: nil %> - <%= f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize' %> -
-
-
-
- <%= f.label :valid_to_from, for: nil %> - <%= f.search_field :valid_to_gteq, value: params[:q][:valid_to_gteq], class: 'form-control js-datepicker', placeholder: t(:valid_to_from) %> -
-
-
-
- <%= f.label :valid_to_until, for: nil %> - <%= f.search_field :valid_to_lteq, value: params[:q][:valid_to_lteq], class: 'form-control js-datepicker', placeholder: t(:valid_to_until) %> -
-
+
+
+
+ <%= f.label :registrant_ident, for: nil %> + <%= f.search_field :registrant_ident_eq, class: 'form-control', placeholder: t(:registrant_ident) %>
-
-
-
- <%= label_tag :status, nil, for: nil %> - <%= select_tag :statuses_contains, options_for_select(DomainStatus::STATUSES, params[:statuses_contains]), { multiple: true, class: 'form-control js-combobox' } %> -
-
-
-
- <%= label_tag :results_per_page, nil, for: nil %> - <%= text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) %> -
-
-
- - <%= link_to t('.download_csv_btn'), admin_domains_path(format: :csv, params: params.permit!), +
+
+
+ <%= f.label :contact_ident, for: nil %> + <%= f.search_field :contacts_ident_eq, class: 'form-control', placeholder: t(:contact_ident) %> +
+
+
+
+ <%= f.label :nameserver_hostname, for: nil %> + <%= f.search_field :nameservers_hostname_eq, class: 'form-control', placeholder: t(:nameserver_hostname) %> +
+
+
+
+
+
+ <%= f.label :registrar_name, for: nil %> + <%= select_tag 'q[registrar_id_eq]', options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:q][:registrar_id_eq]), { multiple: false, class: 'form-control js-combobox' } %> +
+
+
+
+ <%= f.label :valid_to_from, for: nil %> + <%= f.search_field :valid_to_gteq, value: params[:q][:valid_to_gteq], class: 'form-control js-datepicker', placeholder: t(:valid_to_from) %> +
+
+
+
+ <%= f.label :valid_to_until, for: nil %> + <%= f.search_field :valid_to_lteq, value: params[:q][:valid_to_lteq], class: 'form-control js-datepicker', placeholder: t(:valid_to_until) %> +
+
+
+
+
+
+ <%= label_tag :status, nil, for: nil %> + <%= select_tag :statuses_contains, options_for_select(DomainStatus::STATUSES, params[:statuses_contains]), { multiple: true, class: 'form-control js-combobox' } %> +
+
+
+
+ <%= label_tag :results_per_page, nil, for: nil %> + <%= text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) %> +
+
+
+ + <%= link_to t('.download_csv_btn'), admin_domains_path(format: :csv, params: params.permit!), "data-toggle" => "tooltip", "data-placement" => "bottom", "title" => t('.download_csv_btn'), class: 'btn btn-default' %> - <%= link_to t('.reset_btn'), admin_domains_path, class: 'btn btn-default' %> + <%= link_to t('.reset_btn'), admin_domains_path, class: 'btn btn-default' %> -
-
-<% end %> +
+
+<% end %> \ No newline at end of file From 92ffb67f347182dc430cee4f907029a3e0fb805e Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Thu, 1 Jul 2021 12:38:40 +0300 Subject: [PATCH 2/6] changed added js-class to dropdown fields in epp logs, repp logs, contacts --- app/views/admin/contacts/index.haml | 6 +++--- app/views/admin/domains/_search_form.html.erb | 2 +- app/views/admin/epp_logs/index.haml | 6 +++--- app/views/admin/repp_logs/index.haml | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/views/admin/contacts/index.haml b/app/views/admin/contacts/index.haml index 7da4f4ab7..6fa0b009b 100644 --- a/app/views/admin/contacts/index.haml +++ b/app/views/admin/contacts/index.haml @@ -19,7 +19,7 @@ .col-md-3 .form-group = label_tag t(:ident_type) - = select_tag '[q][ident_type_eq]', options_for_select(ident_types, params[:q][:ident_type_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' } + = select_tag '[q][ident_type_eq]', options_for_select(ident_types, params[:q][:ident_type_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control js-combobox' } .row .col-md-3 .form-group @@ -28,7 +28,7 @@ .col-md-3 .form-group = label_tag t(:country) - = select_tag '[q][country_code_eq]', ApplicationController.helpers.all_country_options(params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control selectize' } + = select_tag '[q][country_code_eq]', options_for_select(ApplicationController.helpers.all_country_options(params[:q][:country_code_eq]), params[:q][:country_code_eq]), { multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .col-md-6 .form-group = label_tag t(:contact_type) @@ -37,7 +37,7 @@ .col-md-3 .form-group = f.label t(:registrar_name) - = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose) + = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control js-combobox', placeholder: t(:choose) .col-md-3 .form-group = f.label t(:created_at_from) diff --git a/app/views/admin/domains/_search_form.html.erb b/app/views/admin/domains/_search_form.html.erb index cc570efbb..82713b3b1 100644 --- a/app/views/admin/domains/_search_form.html.erb +++ b/app/views/admin/domains/_search_form.html.erb @@ -71,4 +71,4 @@
-<% end %> \ No newline at end of file +<% end %> diff --git a/app/views/admin/epp_logs/index.haml b/app/views/admin/epp_logs/index.haml index ee62c4218..29493d3f7 100644 --- a/app/views/admin/epp_logs/index.haml +++ b/app/views/admin/epp_logs/index.haml @@ -8,17 +8,17 @@ .col-md-3 .form-group = f.label :request_command - = f.select :request_command_eq, [[t(:choose),''], 'hello', 'login', 'logout', 'info', 'create', 'update', 'delete', 'check', 'renew', 'transfer', 'poll'], {}, class: 'form-control selectize', placeholder: t(:choose) + = f.select :request_command_eq, [[t(:choose),''], 'hello', 'login', 'logout', 'info', 'create', 'update', 'delete', 'check', 'renew', 'transfer', 'poll'], {}, class: 'form-control js-combobox', placeholder: t(:choose) .col-md-3 .form-group - opts = [[t(:choose),''], 'contact', 'domain', 'poll'] - opts += [params[:q][:request_object_cont]] if params[:q].present? && params[:q][:request_object_cont].present? = f.label :request_object - = f.select :request_object_cont, opts, {}, class: 'form-control selectize_create', placeholder: t(:choose) + = f.select :request_object_cont, opts, {}, class: 'form-control js-combobox', placeholder: t(:choose) .col-md-3 .form-group = f.label :request_successful - = f.select :request_successful_true, [[t(:choose), ''], 'true', 'false'], {}, class: 'form-control selectize', placeholder: t(:choose) + = f.select :request_successful_true, [[t(:choose), ''], 'true', 'false'], {}, class: 'form-control js-combobox', placeholder: t(:choose) .col-md-3 .form-group = f.label :api_user diff --git a/app/views/admin/repp_logs/index.haml b/app/views/admin/repp_logs/index.haml index ec43a8262..14608f99f 100644 --- a/app/views/admin/repp_logs/index.haml +++ b/app/views/admin/repp_logs/index.haml @@ -8,11 +8,11 @@ .col-md-3 .form-group = f.label :request_path - = f.select :request_path_eq, [[t(:choose),''], '/repp/v1/domains', '/repp/v1/contacts'], {}, class: 'form-control selectize', placeholder: t(:choose) + = f.select :request_path_eq, [[t(:choose),''], '/repp/v1/domains', '/repp/v1/contacts'], {}, class: 'form-control js-combobox', placeholder: t(:choose) .col-md-3 .form-group = f.label :request_method - = f.select :request_method_eq, [[t(:choose),''], 'GET', 'POST', 'PUT', 'DELETE'], {}, class: 'form-control selectize', placeholder: t(:choose) + = f.select :request_method_eq, [[t(:choose),''], 'GET', 'POST', 'PUT', 'DELETE'], {}, class: 'form-control js-combobox', placeholder: t(:choose) .col-md-3 .form-group = f.label :response_code From fd34d3330d9c740773bc00df492db19abf6a2034 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Mon, 5 Jul 2021 16:06:14 +0300 Subject: [PATCH 3/6] add empty value for default in dropdowns --- app/views/admin/contacts/index.haml | 2 +- app/views/admin/domains/_search_form.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/admin/contacts/index.haml b/app/views/admin/contacts/index.haml index 6fa0b009b..851617d04 100644 --- a/app/views/admin/contacts/index.haml +++ b/app/views/admin/contacts/index.haml @@ -19,7 +19,7 @@ .col-md-3 .form-group = label_tag t(:ident_type) - = select_tag '[q][ident_type_eq]', options_for_select(ident_types, params[:q][:ident_type_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control js-combobox' } + = select_tag '[q][ident_type_eq]', options_for_select(ident_types, params[:q][:ident_type_eq]), { placeholder: t(:choose), multiple: true, class: 'form-control js-combobox' } .row .col-md-3 .form-group diff --git a/app/views/admin/domains/_search_form.html.erb b/app/views/admin/domains/_search_form.html.erb index 82713b3b1..5a7801eeb 100644 --- a/app/views/admin/domains/_search_form.html.erb +++ b/app/views/admin/domains/_search_form.html.erb @@ -29,7 +29,7 @@
<%= f.label :registrar_name, for: nil %> - <%= select_tag 'q[registrar_id_eq]', options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:q][:registrar_id_eq]), { multiple: false, class: 'form-control js-combobox' } %> + <%= select_tag 'q[registrar_id_eq]', options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:q][:registrar_id_eq]), { multiple: true, class: 'form-control js-combobox' } %>
From fee6b897afbb5778b97be11cf713f40d1f7ced3d Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Tue, 6 Jul 2021 10:32:20 +0300 Subject: [PATCH 4/6] fixed search form --- app/controllers/admin/domains_controller.rb | 30 +++++++++++++------ app/views/admin/domains/_search_form.html.erb | 4 +-- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index 3e2d78671..6df0fe434 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -5,13 +5,15 @@ module Admin def index params[:q] ||= {} - if params[:statuses_contains] - domains = Domain.includes(:registrar, :registrant).where( - "domains.statuses @> ?::varchar[]", "{#{params[:statuses_contains].join(',')}}" - ) - else - domains = Domain.includes(:registrar, :registrant) - end + domains = if params[:statuses_contains] + Domain.includes(:registrar, :registrant).where( + 'domains.statuses @> ?::varchar[]', "{#{params[:statuses_contains].join(',')}}" + ) + else + Domain.includes(:registrar, :registrant) + end + + domains = get_domains_which_related_to_registrars normalize_search_parameters do @q = domains.search(params[:q]) @@ -59,7 +61,7 @@ module Admin redirect_to [:admin, @domain] else build_associations - flash.now[:alert] = I18n.t('failed_to_update_domain') + ' ' + @domain.errors.full_messages.join(", ") + flash.now[:alert] = I18n.t('failed_to_update_domain') + ' ' + @domain.errors.full_messages.join(', ') render 'edit' end end @@ -105,7 +107,7 @@ module Admin begin end_time = params[:q][:valid_to_lteq].try(:to_date) params[:q][:valid_to_lteq] = end_time.try(:end_of_day) - rescue + rescue StandardError logger.warn('Invalid date') end @@ -113,5 +115,15 @@ module Admin params[:q][:valid_to_lteq] = ca_cache end + + def get_domains_which_related_to_registrars + if params[:registrar_id_eq] + Domain.includes(:registrar, :registrant).where( + registrar: params[:registrar_id_eq] + ) + else + Domain.includes(:registrar, :registrant) + end + end end end diff --git a/app/views/admin/domains/_search_form.html.erb b/app/views/admin/domains/_search_form.html.erb index 5a7801eeb..11cca7dd6 100644 --- a/app/views/admin/domains/_search_form.html.erb +++ b/app/views/admin/domains/_search_form.html.erb @@ -29,7 +29,7 @@
<%= f.label :registrar_name, for: nil %> - <%= select_tag 'q[registrar_id_eq]', options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:q][:registrar_id_eq]), { multiple: true, class: 'form-control js-combobox' } %> + <%= select_tag :registrar_id_eq, options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:registrar_id_eq]), { multiple: true, class: 'form-control js-combobox' } %>
@@ -71,4 +71,4 @@
-<% end %> +<% end %> \ No newline at end of file From 13650ae37eb4b608c5acf4d808d0e48684454421 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Tue, 6 Jul 2021 11:07:09 +0300 Subject: [PATCH 5/6] refactoring: deligious return domain wich related to registrar function in concern --- app/controllers/admin/domains_controller.rb | 32 ++++++++------------- app/controllers/concerns/admin_domains.rb | 13 +++++++++ 2 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 app/controllers/concerns/admin_domains.rb diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index 6df0fe434..2ec59b713 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -1,19 +1,21 @@ module Admin class DomainsController < BaseController + include AdminDomains before_action :set_domain, only: %i[show edit update keep] authorize_resource def index params[:q] ||= {} - domains = if params[:statuses_contains] - Domain.includes(:registrar, :registrant).where( - 'domains.statuses @> ?::varchar[]', "{#{params[:statuses_contains].join(',')}}" - ) - else - Domain.includes(:registrar, :registrant) - end + if params[:statuses_contains] + domains = Domain.includes(:registrar, :registrant).where( + "domains.statuses @> ?::varchar[]", "{#{params[:statuses_contains].join(',')}}" + ) + else + domains = Domain.includes(:registrar, :registrant) + end + + domains = return_domains_which_related_to_registrars - domains = get_domains_which_related_to_registrars normalize_search_parameters do @q = domains.search(params[:q]) @@ -61,7 +63,7 @@ module Admin redirect_to [:admin, @domain] else build_associations - flash.now[:alert] = I18n.t('failed_to_update_domain') + ' ' + @domain.errors.full_messages.join(', ') + flash.now[:alert] = I18n.t('failed_to_update_domain') + ' ' + @domain.errors.full_messages.join(", ") render 'edit' end end @@ -107,7 +109,7 @@ module Admin begin end_time = params[:q][:valid_to_lteq].try(:to_date) params[:q][:valid_to_lteq] = end_time.try(:end_of_day) - rescue StandardError + rescue logger.warn('Invalid date') end @@ -115,15 +117,5 @@ module Admin params[:q][:valid_to_lteq] = ca_cache end - - def get_domains_which_related_to_registrars - if params[:registrar_id_eq] - Domain.includes(:registrar, :registrant).where( - registrar: params[:registrar_id_eq] - ) - else - Domain.includes(:registrar, :registrant) - end - end end end diff --git a/app/controllers/concerns/admin_domains.rb b/app/controllers/concerns/admin_domains.rb new file mode 100644 index 000000000..7ce692870 --- /dev/null +++ b/app/controllers/concerns/admin_domains.rb @@ -0,0 +1,13 @@ +module AdminDomains + extend ActiveSupport::Concern + + def return_domains_which_related_to_registrars + if params[:registrar_id_eq] + domains = Domain.includes(:registrar, :registrant).where( + registrar: params[:registrar_id_eq] + ) + else + domains = Domain.includes(:registrar, :registrant) + end + end +end From 83ae6e158411de1272d8b11c95de76eb2b27dd62 Mon Sep 17 00:00:00 2001 From: Oleg Hasjanov Date: Tue, 6 Jul 2021 11:36:49 +0300 Subject: [PATCH 6/6] changed from multiple to single feature in registrar field --- app/controllers/admin/domains_controller.rb | 4 ---- app/controllers/concerns/admin_domains.rb | 13 ------------- app/views/admin/contacts/index.haml | 4 ++-- app/views/admin/domains/_search_form.html.erb | 4 ++-- 4 files changed, 4 insertions(+), 21 deletions(-) delete mode 100644 app/controllers/concerns/admin_domains.rb diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index 2ec59b713..3e2d78671 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -1,6 +1,5 @@ module Admin class DomainsController < BaseController - include AdminDomains before_action :set_domain, only: %i[show edit update keep] authorize_resource @@ -14,9 +13,6 @@ module Admin domains = Domain.includes(:registrar, :registrant) end - domains = return_domains_which_related_to_registrars - - normalize_search_parameters do @q = domains.search(params[:q]) @domains = @q.result.page(params[:page]) diff --git a/app/controllers/concerns/admin_domains.rb b/app/controllers/concerns/admin_domains.rb deleted file mode 100644 index 7ce692870..000000000 --- a/app/controllers/concerns/admin_domains.rb +++ /dev/null @@ -1,13 +0,0 @@ -module AdminDomains - extend ActiveSupport::Concern - - def return_domains_which_related_to_registrars - if params[:registrar_id_eq] - domains = Domain.includes(:registrar, :registrant).where( - registrar: params[:registrar_id_eq] - ) - else - domains = Domain.includes(:registrar, :registrant) - end - end -end diff --git a/app/views/admin/contacts/index.haml b/app/views/admin/contacts/index.haml index 851617d04..6121bd0fe 100644 --- a/app/views/admin/contacts/index.haml +++ b/app/views/admin/contacts/index.haml @@ -28,7 +28,7 @@ .col-md-3 .form-group = label_tag t(:country) - = select_tag '[q][country_code_eq]', options_for_select(ApplicationController.helpers.all_country_options(params[:q][:country_code_eq]), params[:q][:country_code_eq]), { multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } + = select_tag '[q][country_code_eq]', options_for_select(ApplicationController.helpers.all_country_options(params[:q][:country_code_eq]), params[:q][:country_code_eq]), { include_blank: true, placeholder: t(:choose), class: 'form-control' } .col-md-6 .form-group = label_tag t(:contact_type) @@ -37,7 +37,7 @@ .col-md-3 .form-group = f.label t(:registrar_name) - = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control js-combobox', placeholder: t(:choose) + = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control', placeholder: t(:choose) .col-md-3 .form-group = f.label t(:created_at_from) diff --git a/app/views/admin/domains/_search_form.html.erb b/app/views/admin/domains/_search_form.html.erb index 11cca7dd6..3389112e0 100644 --- a/app/views/admin/domains/_search_form.html.erb +++ b/app/views/admin/domains/_search_form.html.erb @@ -29,7 +29,7 @@
<%= f.label :registrar_name, for: nil %> - <%= select_tag :registrar_id_eq, options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:registrar_id_eq]), { multiple: true, class: 'form-control js-combobox' } %> + <%= select_tag 'q[registrar_id_eq]', options_for_select(Registrar.all.map { |x| [x, x.id] }, params[:q][:registrar_id_eq]), { include_blank:true, class: 'form-control' } %>
@@ -71,4 +71,4 @@
-<% end %> \ No newline at end of file +<% end %>