mirror of
https://github.com/internetee/registry.git
synced 2025-07-21 02:05:57 +02:00
Merge pull request #2160 from internetee/2157-domain-and-contact-version-date-filter
Admin: filter by created_at for domain and contact versions views
This commit is contained in:
commit
6fff8a70ca
5 changed files with 37 additions and 29 deletions
|
@ -7,11 +7,9 @@ module Admin
|
||||||
def index
|
def index
|
||||||
params[:q] ||= {}
|
params[:q] ||= {}
|
||||||
|
|
||||||
@q = Version::ContactVersion.ransack(params[:q])
|
search_params = params[:q].deep_dup.except(:created_at_gteq, :created_at_lteq)
|
||||||
@versions = @q.result.page(params[:page])
|
|
||||||
search_params = params[:q].deep_dup
|
|
||||||
|
|
||||||
where_s = "1=1"
|
where_s = '1=1'
|
||||||
|
|
||||||
search_params.each do |key, value|
|
search_params.each do |key, value|
|
||||||
next if value.empty?
|
next if value.empty?
|
||||||
|
|
|
@ -7,21 +7,19 @@ module Admin
|
||||||
def index
|
def index
|
||||||
params[:q] ||= {}
|
params[:q] ||= {}
|
||||||
|
|
||||||
@q = Version::DomainVersion.includes(:item).ransack(params[:q])
|
search_params = params[:q].deep_dup.except(:created_at_gteq, :created_at_lteq)
|
||||||
@versions = @q.result.page(params[:page])
|
|
||||||
search_params = params[:q].deep_dup
|
|
||||||
|
|
||||||
if search_params[:registrant].present?
|
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)
|
search_params.delete(:registrant)
|
||||||
end
|
end
|
||||||
|
|
||||||
if search_params[:registrar].present?
|
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)
|
search_params.delete(:registrar)
|
||||||
end
|
end
|
||||||
|
|
||||||
where_s = "1=1"
|
where_s = '1=1'
|
||||||
|
|
||||||
search_params.each do |key, value|
|
search_params.each do |key, value|
|
||||||
next if value.empty?
|
next if value.empty?
|
||||||
|
@ -39,11 +37,11 @@ module Admin
|
||||||
if registrants.present?
|
if registrants.present?
|
||||||
where_s += " AND object->>'registrant_id' IN (#{registrants.map { |r| "'#{r.id}'" }.join ','})"
|
where_s += " AND object->>'registrant_id' IN (#{registrants.map { |r| "'#{r.id}'" }.join ','})"
|
||||||
end
|
end
|
||||||
where_s += " AND 1=0" if registrants == []
|
where_s += ' AND 1=0' if registrants == []
|
||||||
if registrars.present?
|
if registrars.present?
|
||||||
where_s += " AND object->>'registrar_id' IN (#{registrars.map { |r| "'#{r.id}'" }.join ','})"
|
where_s += " AND object->>'registrar_id' IN (#{registrars.map { |r| "'#{r.id}'" }.join ','})"
|
||||||
end
|
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)
|
versions = Version::DomainVersion.includes(:item).where(where_s).order(created_at: :desc, id: :desc)
|
||||||
@q = versions.ransack(params[:q])
|
@q = versions.ransack(params[:q])
|
||||||
|
|
|
@ -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' }
|
= 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
|
.row
|
||||||
.col-md-3
|
.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
|
.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
|
.col-md-3
|
||||||
.form-group
|
.form-group
|
||||||
= label_tag t(:results_per_page)
|
= label_tag t(:results_per_page)
|
||||||
|
|
|
@ -15,14 +15,20 @@
|
||||||
.col-md-3
|
.col-md-3
|
||||||
.form-group
|
.form-group
|
||||||
= label_tag t(:registrar_name)
|
= 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
|
.col-md-3
|
||||||
.form-group
|
.form-group
|
||||||
= label_tag :action
|
= 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' }
|
= 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
|
.row
|
||||||
.col-md-3
|
.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
|
.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
|
.col-md-3
|
||||||
.form-group
|
.form-group
|
||||||
= label_tag t(:results_per_page)
|
= label_tag t(:results_per_page)
|
||||||
|
|
|
@ -67,7 +67,7 @@ class DomainVersionsTest < ApplicationSystemTestCase
|
||||||
find('.btn.btn-primary').click
|
find('.btn.btn-primary').click
|
||||||
|
|
||||||
assert_equal current_url,
|
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
|
end
|
||||||
|
|
||||||
def test_search_registrar_param
|
def test_search_registrar_param
|
||||||
|
@ -76,7 +76,7 @@ class DomainVersionsTest < ApplicationSystemTestCase
|
||||||
find('.btn.btn-primary').click
|
find('.btn.btn-primary').click
|
||||||
|
|
||||||
assert_equal current_url,
|
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
|
end
|
||||||
|
|
||||||
def test_search_name_param
|
def test_search_name_param
|
||||||
|
@ -85,7 +85,7 @@ class DomainVersionsTest < ApplicationSystemTestCase
|
||||||
find('.btn.btn-primary').click
|
find('.btn.btn-primary').click
|
||||||
|
|
||||||
assert_equal current_url,
|
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
|
end
|
||||||
|
|
||||||
def test_download_domain_history
|
def test_download_domain_history
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue