From 34e16ab8e8bac74ae54f95a92308eaa980a62d74 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Wed, 15 Sep 2021 09:37:08 +0300 Subject: [PATCH 1/3] added search fields --- app/views/admin/domain_versions/archive.haml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 30312a9bd..08bbb2c7a 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -22,7 +22,13 @@ = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy'], ['Create', 'create']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .row .col-md-3 + .form-group + = f.label t(:created_at_from) + = f.search_field :created_at_gteq, value: params[:q][:created_at_gteq], class: 'form-control js-datepicker', placeholder: t(:created_at_from) .col-md-3 + .form-group + = f.label t(:created_at_until) + = f.search_field :created_at_lteq, value: params[:q][:created_at_lteq], class: 'form-control js-datepicker', placeholder: t(:created_at_until) .col-md-3 .form-group = label_tag t(:results_per_page) From 15c606f76a2ae5baa2b4070a2b0427188a681ac9 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Wed, 15 Sep 2021 11:45:11 +0300 Subject: [PATCH 2/3] added filter for domain and contact histories --- .../admin/contact_versions_controller.rb | 6 ++-- .../admin/domain_versions_controller.rb | 14 ++++---- app/views/admin/contact_versions/index.haml | 32 +++++++++++-------- app/views/admin/domain_versions/archive.haml | 2 +- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb index 528059c19..8ded131c0 100644 --- a/app/controllers/admin/contact_versions_controller.rb +++ b/app/controllers/admin/contact_versions_controller.rb @@ -7,11 +7,9 @@ module Admin def index params[:q] ||= {} - @q = Version::ContactVersion.ransack(params[:q]) - @versions = @q.result.page(params[:page]) - search_params = params[:q].deep_dup + search_params = params[:q].deep_dup.except(:created_at_gteq, :created_at_lteq) - where_s = "1=1" + where_s = '1=1' search_params.each do |key, value| next if value.empty? diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index fda6ac5d9..bdff4b085 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -7,21 +7,19 @@ module Admin def index params[:q] ||= {} - @q = Version::DomainVersion.includes(:item).ransack(params[:q]) - @versions = @q.result.page(params[:page]) - search_params = params[:q].deep_dup + search_params = params[:q].deep_dup.except(:created_at_gteq, :created_at_lteq) if search_params[:registrant].present? - registrants = Contact.where("name ilike ?", "%#{search_params[:registrant].strip}%") + registrants = Contact.where('name ilike ?', "%#{search_params[:registrant].strip}%") search_params.delete(:registrant) end if search_params[:registrar].present? - registrars = Registrar.where("name ilike ?", "%#{search_params[:registrar].strip}%") + registrars = Registrar.where('name ilike ?', "%#{search_params[:registrar].strip}%") search_params.delete(:registrar) end - where_s = "1=1" + where_s = '1=1' search_params.each do |key, value| next if value.empty? @@ -39,11 +37,11 @@ module Admin if registrants.present? where_s += " AND object->>'registrant_id' IN (#{registrants.map { |r| "'#{r.id}'" }.join ','})" end - where_s += " AND 1=0" if registrants == [] + where_s += ' AND 1=0' if registrants == [] if registrars.present? where_s += " AND object->>'registrar_id' IN (#{registrars.map { |r| "'#{r.id}'" }.join ','})" end - where_s += " AND 1=0" if registrars == [] + where_s += ' AND 1=0' if registrars == [] versions = Version::DomainVersion.includes(:item).where(where_s).order(created_at: :desc, id: :desc) @q = versions.ransack(params[:q]) diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index 67d903176..4d7a9948d 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -21,19 +21,25 @@ = label_tag :action = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy'], ['Create', 'create']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .row - .col-md-3 - .col-md-3 - .col-md-3 - .form-group - = label_tag t(:results_per_page) - = text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) - .col-md-3{style: 'padding-top: 25px;float:right;padding-right: 0px;'} - %button.btn.btn-primary -   - %span.glyphicon.glyphicon-search -   - = link_to(t('.csv_btn'), admin_contact_versions_path(format: :csv, params: params.permit!), class: 'btn btn-default') - = link_to(t('.reset_btn'), admin_contact_versions_path, class: 'btn btn-default') + .col-md-3 + .form-group + = f.label t(:created_at_from) + = f.search_field :created_at_gteq, value: params[:q][:created_at_gteq], class: 'form-control js-datepicker', placeholder: t(:created_at_from) + .col-md-3 + .form-group + = f.label t(:created_at_until) + = f.search_field :created_at_lteq, value: params[:q][:created_at_lteq], class: 'form-control js-datepicker', placeholder: t(:created_at_until) + .col-md-3 + .form-group + = label_tag t(:results_per_page) + = text_field_tag :results_per_page, params[:results_per_page], class: 'form-control', placeholder: t(:results_per_page) + .col-md-3{style: 'padding-top: 25px;float:right;padding-right: 0px;'} + %button.btn.btn-primary +   + %span.glyphicon.glyphicon-search +   + = link_to(t('.csv_btn'), admin_contact_versions_path(format: :csv, params: params.permit!), class: 'btn btn-default') + = link_to(t('.reset_btn'), admin_contact_versions_path, class: 'btn btn-default') %hr diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 08bbb2c7a..ec2034ed1 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -15,7 +15,7 @@ .col-md-3 .form-group = label_tag t(:registrar_name) - = select_tag '[q][registrar]', options_for_select(Registrar.all.map { |x| [x, x.name] }, selected: params[:q][:registrar]), { include_blank: true, class: 'form-control', placeholder: t('.registrant')} + = select_tag '[q][registrar]', options_for_select(Registrar.all.map { |r| [r.name] }, selected: params[:q][:registrar]), { include_blank: true, class: 'form-control', placeholder: t('.registrant')} .col-md-3 .form-group = label_tag :action From 6171e38eb28a21ed75a6a7e74f8c246d26019d21 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Wed, 15 Sep 2021 12:06:55 +0300 Subject: [PATCH 3/3] fixed test --- test/system/admin_area/domain_versions_test.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/system/admin_area/domain_versions_test.rb b/test/system/admin_area/domain_versions_test.rb index e440b0935..a8aeb0cd4 100644 --- a/test/system/admin_area/domain_versions_test.rb +++ b/test/system/admin_area/domain_versions_test.rb @@ -67,7 +67,7 @@ class DomainVersionsTest < ApplicationSystemTestCase find('.btn.btn-primary').click assert_equal current_url, - 'http://www.example.com/admin/domain_versions?q[name]=&q[registrant]=John&q[registrar]=&q[event]=&results_per_page=' + 'http://www.example.com/admin/domain_versions?q[name]=&q[registrant]=John&q[registrar]=&q[event]=&q[created_at_gteq]=&q[created_at_lteq]=&results_per_page=' end def test_search_registrar_param @@ -76,7 +76,7 @@ class DomainVersionsTest < ApplicationSystemTestCase find('.btn.btn-primary').click assert_equal current_url, - 'http://www.example.com/admin/domain_versions?q[name]=&q[registrant]=&q[registrar]=Best+Names&q[event]=&results_per_page=' + 'http://www.example.com/admin/domain_versions?q[name]=&q[registrant]=&q[registrar]=Best+Names&q[event]=&q[created_at_gteq]=&q[created_at_lteq]=&results_per_page=' end def test_search_name_param @@ -85,7 +85,7 @@ class DomainVersionsTest < ApplicationSystemTestCase find('.btn.btn-primary').click assert_equal current_url, - 'http://www.example.com/admin/domain_versions?q[name]=shop.test&q[registrant]=&q[registrar]=&q[event]=&results_per_page=' + 'http://www.example.com/admin/domain_versions?q[name]=shop.test&q[registrant]=&q[registrar]=&q[event]=&q[created_at_gteq]=&q[created_at_lteq]=&results_per_page=' end def test_download_domain_history