From d3ad01f1a2d98305629dd71c21aca178a42dd725 Mon Sep 17 00:00:00 2001 From: Stas Date: Wed, 2 Mar 2016 14:36:35 +0200 Subject: [PATCH 1/4] 18869472-archive_changes --- .../admin/domain_versions_controller.rb | 11 +++- app/views/admin/contact_versions/index.haml | 3 + app/views/admin/domain_versions/archive.haml | 12 +++- app/views/admin/domain_versions/show.haml | 63 +++++++++++++++++++ 4 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 app/views/admin/domain_versions/show.haml diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 6aca493ea..6a3a89d9f 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -22,7 +22,12 @@ class Admin::DomainVersionsController < AdminController search_params.each do |key, value| next if value.empty? - whereS += create_where_string(key, value) + case key + when 'event' + whereS += " AND event = '#{value}'" + else + whereS += create_where_string(key, value) + end end whereS += " AND object->>'registrant_id' ~ '#{registrant.id}'" if registrant @@ -36,6 +41,10 @@ class Admin::DomainVersionsController < AdminController end + def show + @version = DomainVersion.find(params[:id]) + end + def search render json: DomainVersion.search_by_query(params[:q]) end diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index 00cdb53ee..2384503bd 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -53,6 +53,8 @@ = t(:phone) %th{class: 'col-xs-2'} = t(:registrar) + %th{class: 'col-xs-2'} + = t(:action_date) %th{class: 'col-xs-2'} = t(:action) %tbody @@ -65,6 +67,7 @@ %td - if version.reify.registrar = link_to(version.reify.registrar, admin_registrar_path(version.reify.registrar)) + %td= l(version.created_at, format: :short) %td= version.event diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index f4b87cbae..94ed66658 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -18,12 +18,15 @@ = f.search_field :registrar, value: params[:q][:registrar], class: 'form-control', placeholder: t(:registrant) .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) + = label_tag :action + = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy']], params[:q][:event]), { 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;'} %button.btn.btn-primary   @@ -46,18 +49,21 @@ = t(:registrant) %th{class: 'col-xs-2'} = t(:registrar) + %th{class: 'col-xs-2'} + = t(:action_date) %th{class: 'col-xs-2'} = t(:action) %tbody - @versions.each do |version| %tr - %td= version.reify.name + %td= link_to(version.reify.name, admin_domain_version_path(version.id)) %td - if version.reify.registrant = link_to(version.reify.registrant, admin_registrant_path(version.reify.registrant)) %td - if version.reify.registrar = link_to(version.reify.registrar, admin_registrar_path(version.reify.registrar)) + %td= l(version.created_at, format: :short) %td= version.event diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml new file mode 100644 index 000000000..8e3834e17 --- /dev/null +++ b/app/views/admin/domain_versions/show.haml @@ -0,0 +1,63 @@ += render 'shared/title', name: @version.reify.name + + +- if @version + - children = HashWithIndifferentAccess.new(@version.children) + - nameservers = Nameserver.where(id: children[:nameservers]) + - tech_contacts = Contact.where(id: children[:tech_contacts]) + - admin_contacts = Contact.where(id: children[:admin_contacts]) + - registrant = Contact.where(id: children[:registrant]) + - event = @version.event + - creator = plain_username(@version.terminator) + + +.row + .col-md-12 + .panel.panel-default + .panel-heading + %h3.panel-title + = l(@version.reify.updated_at, format: :short) + = event + = creator + .panel-body + %dl.dl-horizontal + %dt= t(:name) + %dd= link_to(@version.reify.name, admin_domain_path(@version.item_id)) + %dt= t(:statuses) + %dd + - if @version.reify.statuses.present? + - @version.reify.statuses.each do |s| + = s + %dt= t(:registrant) + %dd + - registrant.each do |r| + = r[:name] + = r[:phone] + = r[:email] + = r[:code] + %br + %dt= t(:admin_contacts) + %dd + - admin_contacts.each do |r| + = r[:name] + = r[:phone] + = r[:email] + = r[:code] + %br + %dt= t(:tech_contacts) + %dd + - tech_contacts.each do |r| + = r[:name] + = r[:phone] + = r[:email] + = r[:code] + %br + %dt= t(:nameservers) + %dd + - nameservers.each do |ns| + = ns[:hostname] + = ns[:ipv4] + = ns[:ipv6] + %br + %dt= t(:registrar) + %dd= @version.reify.registrar.name \ No newline at end of file From 8f5a73a3ec92261191f724b8df5cf17163162966 Mon Sep 17 00:00:00 2001 From: Stas Date: Mon, 7 Mar 2016 18:07:11 +0200 Subject: [PATCH 2/4] 108869472-navigayion_list_added --- .../admin/domain_versions_controller.rb | 4 +++ app/views/admin/domain_versions/show.haml | 28 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 6a3a89d9f..4a309e9af 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -42,7 +42,11 @@ class Admin::DomainVersionsController < AdminController end def show + per_page = 7 @version = DomainVersion.find(params[:id]) + @q = DomainVersion.where(item_id: @version.item_id).search + @versions = @q.result.page(params[:page]) + @versions = @versions.per(per_page) end def search diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 8e3834e17..81c144c4c 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -1,6 +1,12 @@ +- content_for :actions do + = link_to(t(:previous), admin_domain_path(@version.item_id), class: 'btn btn-primary') + = link_to(t(:next), admin_domain_path(@version.item_id), method: :get, class: 'btn btn btn-default') + = render 'shared/title', name: @version.reify.name + + - if @version - children = HashWithIndifferentAccess.new(@version.children) - nameservers = Nameserver.where(id: children[:nameservers]) @@ -12,8 +18,8 @@ .row - .col-md-12 - .panel.panel-default + .col-md-8 + .panel.panel-default{:style => "min-height:400px;"} .panel-heading %h3.panel-title = l(@version.reify.updated_at, format: :short) @@ -60,4 +66,20 @@ = ns[:ipv6] %br %dt= t(:registrar) - %dd= @version.reify.registrar.name \ No newline at end of file + %dd= @version.reify.registrar.name + .col-md-4 + .panel.panel-default{:style => "min-height:400px;"} + %ul.nav.nav-pills.nav-stacked + - @versions.each do |vs| + - if vs.id == @version.id + %li.active + = link_to admin_domain_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + - else + %li + = link_to admin_domain_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + %span{:style => "padding-left:10px;position: absolute; bottom: 10px;"} + = paginate @versions From 8867644f169f72f1e0a16bd0da96e91f6ea78ee9 Mon Sep 17 00:00:00 2001 From: Stas Date: Sun, 13 Mar 2016 15:08:03 +0200 Subject: [PATCH 3/4] 108869472-styles --- app/views/admin/domain_versions/show.haml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 81c144c4c..1ccc89912 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -1,12 +1,5 @@ -- content_for :actions do - = link_to(t(:previous), admin_domain_path(@version.item_id), class: 'btn btn-primary') - = link_to(t(:next), admin_domain_path(@version.item_id), method: :get, class: 'btn btn btn-default') - = render 'shared/title', name: @version.reify.name - - - - if @version - children = HashWithIndifferentAccess.new(@version.children) - nameservers = Nameserver.where(id: children[:nameservers]) @@ -67,6 +60,14 @@ %br %dt= t(:registrar) %dd= @version.reify.registrar.name + %span{:style => "padding-right:10px; float: right; bottom: 10px;"} + = link_to(t(:previous), + admin_domain_path(@version.item_id), + class: 'btn btn-primary') + = link_to(t(:next), + admin_domain_path(@version.item_id), + class: 'btn btn-default') + .col-md-4 .panel.panel-default{:style => "min-height:400px;"} %ul.nav.nav-pills.nav-stacked @@ -81,5 +82,5 @@ = link_to admin_domain_version_path(vs.id) do = l(vs.reify.updated_at, format: :short) = vs.event - %span{:style => "padding-left:10px;position: absolute; bottom: 10px;"} + %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} = paginate @versions From a42049e17060980350019d7d1b4f8fb50a7f81d9 Mon Sep 17 00:00:00 2001 From: Stas Date: Mon, 14 Mar 2016 13:54:00 +0200 Subject: [PATCH 4/4] 108869472-template_changes --- .../admin/contact_versions_controller.rb | 18 +++- app/views/admin/contact_versions/index.haml | 5 +- app/views/admin/contact_versions/show.haml | 96 +++++++++++++++++++ app/views/admin/domain_versions/archive.haml | 2 +- app/views/admin/domain_versions/show.haml | 22 +++-- config/locales/en.yml | 2 + 6 files changed, 134 insertions(+), 11 deletions(-) create mode 100644 app/views/admin/contact_versions/show.haml diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb index d6c7deb9e..59aedfcac 100644 --- a/app/controllers/admin/contact_versions_controller.rb +++ b/app/controllers/admin/contact_versions_controller.rb @@ -6,12 +6,18 @@ class Admin::ContactVersionsController < AdminController @q = ContactVersion.search(params[:q]) @versions = @q.result.page(params[:page]) + search_params = params[:q].deep_dup whereS = "1=1" - params[:q].each do |key, value| + search_params.each do |key, value| next if value.empty? - whereS += create_where_string(key, value) + case key + when 'event' + whereS += " AND event = '#{value}'" + else + whereS += create_where_string(key, value) + end end versions = ContactVersion.includes(:item).where(whereS) @@ -21,6 +27,14 @@ class Admin::ContactVersionsController < AdminController end + def show + per_page = 7 + @version = ContactVersion.find(params[:id]) + @q = ContactVersion.where(item_id: @version.item_id).search + @versions = @q.result.page(params[:page]) + @versions = @versions.per(per_page) + end + def search render json: ContactVersion.search_by_query(params[:q]) end diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index 2384503bd..f7602c565 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -23,6 +23,9 @@ .row .col-md-3 .col-md-3 + .form-group + = label_tag :action + = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .col-md-3 .form-group = label_tag t(:results_per_page) @@ -60,7 +63,7 @@ %tbody - @versions.each do |version| %tr - %td= version.reify.name + %td= link_to(version.reify.name, admin_contact_version_path(version.id)) %td= version.reify.code %td= ident_for(version.reify) %td= version.reify.phone diff --git a/app/views/admin/contact_versions/show.haml b/app/views/admin/contact_versions/show.haml new file mode 100644 index 000000000..13aeb327a --- /dev/null +++ b/app/views/admin/contact_versions/show.haml @@ -0,0 +1,96 @@ += render 'shared/title', name: @version.reify.name + +.row + .col-md-8 + .panel.panel-default{:style => "min-height:420px;"} + .panel-heading + %h3.panel-title + = l(@version.reify.updated_at, format: :short) + = @version.event + = plain_username(@version.terminator) + .panel-body + %dl.dl-horizontal + %dt= t(:id) + %dd= @version.reify.code + + %dt= t(:ident) + %dd= ident_for(@version.reify) + + %dt= t(:email) + %dd= @version.reify.email + + %dt= t(:phone) + %dd= @version.reify.phone + + - if @version.reify.fax + %dt= t(:fax) + %dd= @version.reify.fax + + %br + + %dt= t(:created) + %dd + = l(@version.reify.created_at, format: :short) + + %dt= t(:updated) + %dd + = l(@version.reify.updated_at, format: :short) + + %dt= t(:registrar) + %dd + - if @version.reify.registrar.present? + = link_to(@version.reify.registrar, admin_registrar_path(@version.reify.registrar)) + + %dl.dl-horizontal + - if @version.reify.org_name.present? + %dt= t(:org_name) + %dd= @version.reify.org_name + + %dt= t(:street) + %dd= @version.reify.street.to_s.gsub("\n", '
').html_safe + + %dt= t(:city) + %dd= @version.reify.city + + %dt= t(:zip) + %dd= @version.reify.zip + + %dt= t(:state) + %dd= @version.reify.state + + %dt= t(:country) + %dd= @version.reify.country + + + %span{:style => "padding-right:10px; float: right;"} + - if @version.previous + = link_to(t(:previous), + admin_contact_version_path(@version.previous.id), + class: 'btn btn-primary') + - else + %a.btn.btn-primary.disabled{:href => "#"} + %span= t(:previous) + - if @version.next + = link_to(t(:next), + admin_contact_version_path(@version.next.id), + class: 'btn btn-default') + - else + %a.btn.btn-default.disabled{:href => "#"} + %span= t(:next) + + .col-md-4 + .panel.panel-default{:style => "min-height:420px;"} + %ul.nav.nav-pills.nav-stacked + - @versions.each do |vs| + - if vs.id == @version.id + %li.active + = link_to admin_contact_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + - else + %li + = link_to admin_contact_version_path(vs.id) do + = l(vs.reify.updated_at, format: :short) + = vs.event + %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} + = paginate @versions \ No newline at end of file diff --git a/app/views/admin/domain_versions/archive.haml b/app/views/admin/domain_versions/archive.haml index 94ed66658..6a8df123c 100644 --- a/app/views/admin/domain_versions/archive.haml +++ b/app/views/admin/domain_versions/archive.haml @@ -19,7 +19,7 @@ .col-md-3 .form-group = label_tag :action - = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy']], params[:q][:event]), { multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } + = select_tag '[q][event]', options_for_select([['Update', 'update'], ['Destroy', 'destroy']], params[:q][:event]), { include_blank:true, multiple: false, placeholder: t(:choose), class: 'form-control js-combobox' } .row .col-md-3 .col-md-3 diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 1ccc89912..5b11d15fb 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -60,13 +60,21 @@ %br %dt= t(:registrar) %dd= @version.reify.registrar.name - %span{:style => "padding-right:10px; float: right; bottom: 10px;"} - = link_to(t(:previous), - admin_domain_path(@version.item_id), - class: 'btn btn-primary') - = link_to(t(:next), - admin_domain_path(@version.item_id), - class: 'btn btn-default') + %span{:style => "padding-right:10px; padding-top:40px; float: right; bottom: 10px;"} + - if @version.previous + = link_to(t(:previous), + admin_domain_version_path(@version.previous.id), + class: 'btn btn-primary') + - else + %a.btn.btn-primary.disabled{:href => "#"} + %span= t(:previous) + - if @version.next + = link_to(t(:next), + admin_domain_version_path(@version.next.id), + class: 'btn btn-default') + - else + %a.btn.btn-default.disabled{:href => "#"} + %span= t(:next) .col-md-4 .panel.panel-default{:style => "min-height:400px;"} diff --git a/config/locales/en.yml b/config/locales/en.yml index 16e643b16..a5d441e2e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -926,3 +926,5 @@ en: if_auth_info_is_left_empty_it_will_be_auto_generated: 'If auth info is left empty, it will be auto generated.' each_domain_name_must_end_with_colon_sign: 'Each domain name must end with colon (:) sign.' expiration_remind_subject: 'The %{name} domain has expired' + next: 'Next' + previous: 'Previous'