From c49ec2b1c63821a0b89728fa8dbc532073f88d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20Keskk=C3=BCla?= Date: Wed, 12 Nov 2014 16:05:05 +0200 Subject: [PATCH] Domain history to admin, added deleted domains info --- .../admin/contact_versions_controller.rb | 18 ------- .../admin/domain_versions_controller.rb | 14 ++---- app/views/admin/contact_histories/index.haml | 30 ------------ .../admin/contact_versions/_history.haml | 23 --------- app/views/admin/contact_versions/index.haml | 40 ---------------- app/views/admin/contact_versions/show.haml | 40 ---------------- app/views/admin/domain_histories/index.haml | 30 ------------ app/views/admin/domain_versions/_version.haml | 48 +++++++++++++++++++ app/views/admin/domain_versions/index.haml | 29 ++++------- app/views/admin/domain_versions/show.haml | 32 ++++++------- app/views/admin/domains/index.haml | 2 + app/views/layouts/application.haml | 18 +------ config/locales/en.yml | 1 + 13 files changed, 80 insertions(+), 245 deletions(-) delete mode 100644 app/controllers/admin/contact_versions_controller.rb delete mode 100644 app/views/admin/contact_histories/index.haml delete mode 100644 app/views/admin/contact_versions/_history.haml delete mode 100644 app/views/admin/contact_versions/index.haml delete mode 100644 app/views/admin/contact_versions/show.haml delete mode 100644 app/views/admin/domain_histories/index.haml create mode 100644 app/views/admin/domain_versions/_version.haml diff --git a/app/controllers/admin/contact_versions_controller.rb b/app/controllers/admin/contact_versions_controller.rb deleted file mode 100644 index 1636a24ab..000000000 --- a/app/controllers/admin/contact_versions_controller.rb +++ /dev/null @@ -1,18 +0,0 @@ -class Admin::ContactVersionsController < AdminController - before_action :set_contact, only: [:show] - - def index - @q = Contact.search(params[:q]) - @contacts = @q.result.page(params[:page]) - end - - def show - @versions = @contact.versions - end - - private - - def set_contact - @contact = Contact.find(params[:id]) - end -end diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 297f04ecb..9753c4966 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -1,18 +1,12 @@ class Admin::DomainVersionsController < AdminController - before_action :set_domain, only: [:show] - def index - @q = Domain.search(params[:q]) + @q = DomainVersion.deleted.search(params[:q]) @domains = @q.result.page(params[:page]) end def show - @versions = @domain.versions - end - - private - - def set_domain - @domain = Domain.find(params[:id]) + # @q = DomainVersion.search(item_id_eq: params[:id]) + @versions = DomainVersion.where(item_id: params[:id]) + @name = @versions.last.reify.try(:name) if @versions end end diff --git a/app/views/admin/contact_histories/index.haml b/app/views/admin/contact_histories/index.haml deleted file mode 100644 index 8e46dc0ac..000000000 --- a/app/views/admin/contact_histories/index.haml +++ /dev/null @@ -1,30 +0,0 @@ -.row - .col-md-12 - %h2= t('shared.contacts') -%hr -.row - .col-md-12 - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th{class: 'col-xs-2'} - = t('shared.name') - %th{class: 'col-xs-1'} - = t('shared.code') - %th{class: 'col-xs-1'} - = sort_link(@q, 'whodunnit', t('shared.whodunnit')) - %th{class: 'col-xs-2'} - = sort_link(@q, 'created_at', t('shared.created_at')) - %tbody - - @contacts.each do |version| - - contact = version.reify - - next unless contact - %tr - %td= contact.name #link_to(x, admin_contact_path(x)) - %td= contact.code #link_to(x, admin_contact_path(x)) - %td= link_to_whodunnit(version.whodunnit) if version - %td= l(version.created_at, format: :short) if version -.row - .col-md-12 - = paginate @contacts diff --git a/app/views/admin/contact_versions/_history.haml b/app/views/admin/contact_versions/_history.haml deleted file mode 100644 index 362206f03..000000000 --- a/app/views/admin/contact_versions/_history.haml +++ /dev/null @@ -1,23 +0,0 @@ -.row - .col-md-6 - %dl.dl-horizontal - %dt= t('shared.name') - %dd= contact.name - %dt= t('shared.ident') - %dd= contact.ident - %dt= t('shared.phone') - %dd= contact.phone - %dt= t('shared.email') - %dd= contact.email - %dt= t('shared.fax') - %dd= contact.fax - %dt= t('shared.org_name') - %dd= contact.org_name - .col-md-6 - %dl.dl-horizontal - - if contact.address - %dt= t('shared.city') - %dd= contact.address.city - %dt= t('shared.street') - %dd= contact.address.street - diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml deleted file mode 100644 index 7d926a8bc..000000000 --- a/app/views/admin/contact_versions/index.haml +++ /dev/null @@ -1,40 +0,0 @@ -.row - .col-sm-6 - %h2.text-center-xs= t('shared.contacts_history') - =# render 'search' - .col-sm-6 - %h2.text-right.text-center-xs - = link_to(t('shared.deleted'), admin_contact_versions_path(deleted: true), class: 'btn btn-primary') -%hr -.row - .col-md-12 - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th{class: 'col-xs-2'} - = sort_link(@q, 'name', t('shared.name')) - %th{class: 'col-xs-1'} - = sort_link(@q, 'code', t('shared.code')) - %th{class: 'col-xs-1'} - whodunnit - = #sort_link(@q, 'ident', t('shared.identity_code')) - %th{class: 'col-xs-1'} - event - = #sort_link(@q, 'email', t('shared.email')) - %th{class: 'col-xs-2'} - created_at - %th{class: 'col-xs-1'} - = t('shared.action') - %tbody - - @contacts.each do |x| - %tr - %td= x.name #link_to(x, admin_contact_path(x)) - %td= x.code #link_to(x, admin_contact_path(x)) - %td= link_to_whodunnit(x.versions.last.whodunnit) if x.versions.last - %td= x.versions.last.event if x.versions.last - %td= l(x.versions.last.created_at, format: :short) if x.versions.last - %td= link_to(t('shared.history'), admin_contact_version_path(x), class: 'btn btn-primary btn-xs') -.row - .col-md-12 - = paginate @contacts diff --git a/app/views/admin/contact_versions/show.haml b/app/views/admin/contact_versions/show.haml deleted file mode 100644 index 47d9264dd..000000000 --- a/app/views/admin/contact_versions/show.haml +++ /dev/null @@ -1,40 +0,0 @@ -.row - .col-sm-6 - %h2.text-center-xs - = "#{t('shared.contact_details')}" - .col-sm-6 - %h2.text-right.text-center-xs - -%hr -.row - .col-md-12 - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th - whodunnit - %th - event - %th - created_at - - %tbody - - @versions.each_with_index do |version, index| - - contact = version.reify(has_one: true) - - if contact - %tr.clickable{"data-target" => "#accordion-#{index}", "data-toggle" => "collapse"} - %td=version.whodunnit #contact.name if contact - %td=version.event #contact.ident if contact - %td=version.created_at #contact.email if contact - - %tr - %td - .collapse{ id: "accordion-#{index}" } - = render 'admin/contact_versions/history', contact: contact - - else - %tr - %td=version.whodunnit #contact.name if contact - %td=version.event #contact.ident if contact - %td=version.created_at #contact.email if contact - diff --git a/app/views/admin/domain_histories/index.haml b/app/views/admin/domain_histories/index.haml deleted file mode 100644 index 6a1cea5ab..000000000 --- a/app/views/admin/domain_histories/index.haml +++ /dev/null @@ -1,30 +0,0 @@ -.row - .col-md-12 - %h2= t('shared.domains') -%hr -.row - .col-md-12 - .table-responsive - %table.table.table-hover.table-bordered.table-condensed - %thead - %tr - %th{class: 'col-xs-2'} - = t('shared.name') - %th{class: 'col-xs-2'} - = t('shared.status') - %th{class: 'col-xs-1'} - = sort_link(@q, 'whodunnit', t('shared.whodunnit')) - %th{class: 'col-xs-2'} - = sort_link(@q, 'created_at', t('shared.created_at')) - %tbody - - @domains.each do |version| - - domain = version.reify - - next unless domain - %tr - %td= domain.name #link_to(x, admin_contact_path(x)) - %td= domain.status #link_to(x, admin_contact_path(x)) - %td= link_to_whodunnit(version.whodunnit) if version - %td= l(version.created_at, format: :short) if version -.row - .col-md-12 - = paginate @domains diff --git a/app/views/admin/domain_versions/_version.haml b/app/views/admin/domain_versions/_version.haml new file mode 100644 index 000000000..2b397818a --- /dev/null +++ b/app/views/admin/domain_versions/_version.haml @@ -0,0 +1,48 @@ +%td{ class: changes.include?(:owner_contact) ? 'edit-highlight' : 'no-highlight' } + - if children[:owner_contact] + %p{:style => "font-size:x-small;"} + = children[:owner_contact][:name] + = "," + = children[:owner_contact][:phone] + = "," + = children[:owner_contact][:email] + = "," + = children[:owner_contact][:code] + +%td{ class: changes.include?(:admin_contacts) ? 'edit-highlight' : 'no-highlight' } + - if children[:admin_contacts] + - children[:admin_contacts].each do |ac| + %p{:style => "font-size:x-small;"} + = ac[:name] + = "," + = ac[:phone] + = "," + = ac[:email] + = "," + = ac[:code] + +%td{ class: changes.include?(:tech_contacts) ? 'edit-highlight' : 'no-highlight' } + - if children[:tech_contacts] + - children[:tech_contacts].each do |tc| + %p{:style => "font-size:x-small;"} + = tc[:name] + = "," + = tc[:phone] + = "," + = tc[:email] + = "," + = tc[:code] + +%td{ class: changes.include?(:nameservers) ? 'edit-highlight' : 'no-highlight' } + - if children[:nameservers] + - children[:nameservers].each do |ns| + %p{:style => "font-size:x-small;"} + = ns[:hostname] + = "," + = ns[:ipv4] || ns[:ipv6] + +%td + %p{ :style => 'font-size:x-small;' } + = l(version.created_at, format: :short) + = whodunnit_with_protocol(version.whodunnit) + = version.event diff --git a/app/views/admin/domain_versions/index.haml b/app/views/admin/domain_versions/index.haml index b8229cd30..c1f22e5b1 100644 --- a/app/views/admin/domain_versions/index.haml +++ b/app/views/admin/domain_versions/index.haml @@ -8,31 +8,20 @@ %table.table.table-hover.table-bordered.table-condensed %thead %tr - %th{class: 'col-xs-2'} - = sort_link(@q, 'name') - %th{class: 'col-xs-2'} - = sort_link(@q, 'registrar_name', t('shared.registrar')) - %th{class: 'col-xs-2'} - = sort_link(@q, 'owner_contact_name', t('shared.owner')) %th{class: 'col-xs-1'} - = t('shared.whodunnit') - %th{class: 'col-xs1'} - = t('shared.event') - %th{class: 'col-xs1'} - = t('shared.created_at') - %th{class: 'col-xs1'} - = t('shared.action') + = t('shared.name') + %th{class: 'col-xs-1'} + = sort_link(@q, 'whodunnit') + %th{class: 'col-xs-1'} + = sort_link(@q, 'created_at') %tbody - @domains.each do |domain| + - obj = domain.reify %tr - %td= domain.name - %td= domain.registrar.name if domain.registrar - %td= domain.owner_contact.name if domain.owner_contact - %td= link_to_whodunnit(domain.versions.last.whodunnit) if domain.versions.last - %td= domain.versions.last.event if domain.versions.last - %td= l(domain.versions.last.created_at, format: :short) if domain.versions.last - %td= link_to(t('shared.history'), admin_domain_version_path(domain), class: 'btn btn-primary btn-xs') + %td= link_to(obj.name, admin_domain_version_path(obj)) + %td= whodunnit_with_protocol(domain.whodunnit) unless domain.whodunnit.nil? + %td= l(obj.created_at, format: :short) .row .col-md-12 diff --git a/app/views/admin/domain_versions/show.haml b/app/views/admin/domain_versions/show.haml index 8f28c5dba..f74bba303 100644 --- a/app/views/admin/domain_versions/show.haml +++ b/app/views/admin/domain_versions/show.haml @@ -1,7 +1,7 @@ .row .col-sm-6 %h2.text-center-xs - = "#{t('shared.contact_details')}" + = "#{t('shared.domain_history')} for " + @name.to_s .col-sm-6 %h2.text-right.text-center-xs @@ -9,24 +9,20 @@ .row .col-md-12 .table-responsive - %table.table.table-hover.table-bordered.table-condensed + %table.table-hover.table-bordered.table-condensed %thead %tr - %th - whodunnit - %th - event - %th - created_at + %th{class: 'col-xs-2'}= t(:'shared.owner_contact') + %th{class: 'col-xs-2'}= t(:'shared.admin_contacts') + %th{class: 'col-xs-2'}= t(:'shared.tech_contacts') + %th{class: 'col-xs-2'}= t(:'shared.nameservers') + %th{class: 'col-xs-1'}= t(:'shared.changes_info') %tbody - - @versions.each_with_index do |version, index| - - domain = version.reify(has_multiple: true) - - if domain - = render 'admin/domain_versions/history', version: version, index: index, domain: domain - - else - %tr - %td=version.whodunnit #contact.name if contact - %td=version.event #contact.ident if contact - %td=version.created_at #contact.email if contact - + - @versions.each do |version| + %tr + - children = YAML.load(version.snapshot) + - next unless children.is_a?(Hash) + - children = HashWithIndifferentAccess.new(children) + - changes = version.changed_elements + = render 'admin/domain_versions/version', children: children, version: version, changes: changes diff --git a/app/views/admin/domains/index.haml b/app/views/admin/domains/index.haml index dc27ba247..eaad35ad3 100644 --- a/app/views/admin/domains/index.haml +++ b/app/views/admin/domains/index.haml @@ -29,6 +29,7 @@ = sort_link(@q, 'owner_contact_name', t('shared.owner')) %th{class: 'col-xs-2'} = sort_link(@q, 'valid_to', t('shared.valid_to')) + %th{class: 'col-xs-1'}= t('shared.history') %tbody - @domains.each do |x| %tr @@ -36,6 +37,7 @@ %td= link_to(x.registrar, root_path) if x.registrar %td= link_to(x.owner_contact, [:admin, x.owner_contact]) %td= l(x.valid_to, format: :short) + %td= button_to(t(:'shared.history'), admin_domain_version_path(x.id), method: :get) .row .col-md-12 = paginate @domains diff --git a/app/views/layouts/application.haml b/app/views/layouts/application.haml index 0e027110f..4125f020b 100644 --- a/app/views/layouts/application.haml +++ b/app/views/layouts/application.haml @@ -44,22 +44,8 @@ %li = link_to t('shared.users'), admin_users_path - %li.dropdown - %a.dropdown-toggle{"data-toggle" => "dropdown", href: "#"} - = t('shared.archives') - %span.caret - %ul.dropdown-menu{role: "menu"} - %li.dropdown-header= t('shared.domain') - %li - = link_to t('shared.versions'), admin_domain_versions_path - %li - = link_to t('shared.deleted'), admin_domain_histories_path - - %li.dropdown-header= t('shared.contact') - %li - = link_to t('shared.versions'), admin_contact_versions_path - %li - = link_to t('shared.deleted'), admin_contact_histories_path + %li + = link_to t('shared.domains_history'), admin_domain_versions_path %ul.nav.navbar-nav.navbar-right %li= link_to t('shared.log_out', user: current_user), '/logout' diff --git a/config/locales/en.yml b/config/locales/en.yml index 67c203cec..2d785280d 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -263,6 +263,7 @@ en: registrar: 'Registrar' owner: 'Owner' domain_details: 'Domain details' + domain_history: 'Domain history' registered_at: 'Registered at' password: 'Password' valid_from: 'Valid from'