From f94dccfaa4fd1e9bf29492aebef7210a8830c999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20Keskk=C3=BCla?= Date: Tue, 30 Sep 2014 10:19:54 +0300 Subject: [PATCH] Deleted contacts and domains list --- .../admin/contact_histories_controller.rb | 6 ++++ .../admin/domain_histories_controller.rb | 6 ++++ app/models/contact.rb | 2 +- app/models/contact_version.rb | 2 ++ app/models/domain_version.rb | 2 ++ app/views/admin/contact_histories/index.haml | 31 +++++++++++++++++++ app/views/admin/contact_versions/index.haml | 2 +- app/views/admin/domain_histories/index.haml | 29 +++++++++++++++++ app/views/layouts/application.haml | 9 ++++-- config/routes.rb | 4 ++- 10 files changed, 88 insertions(+), 5 deletions(-) create mode 100644 app/controllers/admin/contact_histories_controller.rb create mode 100644 app/controllers/admin/domain_histories_controller.rb create mode 100644 app/views/admin/contact_histories/index.haml create mode 100644 app/views/admin/domain_histories/index.haml diff --git a/app/controllers/admin/contact_histories_controller.rb b/app/controllers/admin/contact_histories_controller.rb new file mode 100644 index 000000000..4fe672b7f --- /dev/null +++ b/app/controllers/admin/contact_histories_controller.rb @@ -0,0 +1,6 @@ +class Admin::ContactHistoriesController < AdminController + def index + @q = ContactVersion.deleted.search(params[:q]) + @contacts = @q.result.page(params[:page]) + end +end diff --git a/app/controllers/admin/domain_histories_controller.rb b/app/controllers/admin/domain_histories_controller.rb new file mode 100644 index 000000000..24aefb652 --- /dev/null +++ b/app/controllers/admin/domain_histories_controller.rb @@ -0,0 +1,6 @@ +class Admin::DomainHistoriesController < AdminController + def index + @q = DomainVersion.deleted.search(params[:q]) + @domains = @q.result.page(params[:page]) + end +end diff --git a/app/models/contact.rb b/app/models/contact.rb index cec424eb6..a12701b00 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -34,7 +34,7 @@ class Contact < ActiveRecord::Base delegate :zip, to: :address#, prefix: true # archiving - has_paper_trail class_name: 'AddressVersion' + has_paper_trail class_name: 'ContactVersion' IDENT_TYPE_ICO = 'ico' IDENT_TYPES = [ diff --git a/app/models/contact_version.rb b/app/models/contact_version.rb index 6d55f6568..f97e9c027 100644 --- a/app/models/contact_version.rb +++ b/app/models/contact_version.rb @@ -1,4 +1,6 @@ class ContactVersion < PaperTrail::Version + scope :deleted, -> { where(event: 'destroy') } + self.table_name = :contact_versions self.sequence_name = :contact_version_id_seq end diff --git a/app/models/domain_version.rb b/app/models/domain_version.rb index 0f8deff90..6a9c5f1bf 100644 --- a/app/models/domain_version.rb +++ b/app/models/domain_version.rb @@ -1,4 +1,6 @@ class DomainVersion < PaperTrail::Version + scope :deleted, -> { where(event: 'destroy') } + self.table_name = :domain_versions self.sequence_name = :domain_version_id_seq end diff --git a/app/views/admin/contact_histories/index.haml b/app/views/admin/contact_histories/index.haml new file mode 100644 index 000000000..16ec43e50 --- /dev/null +++ b/app/views/admin/contact_histories/index.haml @@ -0,0 +1,31 @@ +.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'} + = 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-2'} + deleted_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= version.whodunnit if version + %td= version.created_at if version +.row + .col-md-12 + = paginate @contacts diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index 77cc70a8f..48bc01d67 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -4,7 +4,7 @@ = render 'admin/contacts/partials/search' .col-sm-6 %h2.text-right.text-center-xs - = link_to(t('shared.add'), new_admin_contact_path, class: 'btn btn-primary') + = link_to(t('shared.deleted'), admin_contact_versions_path(deleted: true), class: 'btn btn-primary') %hr .row .col-md-12 diff --git a/app/views/admin/domain_histories/index.haml b/app/views/admin/domain_histories/index.haml new file mode 100644 index 000000000..27fd179fd --- /dev/null +++ b/app/views/admin/domain_histories/index.haml @@ -0,0 +1,29 @@ +.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'} + = sort_link(@q, 'name', t('shared.name')) + %th{class: 'col-xs-1'} + whodunnit + = #sort_link(@q, 'ident', t('shared.identity_code')) + %th{class: 'col-xs-2'} + deleted_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= version.whodunnit if version + %td= version.created_at if version +.row + .col-md-12 + = paginate @domains diff --git a/app/views/layouts/application.haml b/app/views/layouts/application.haml index e78f35cee..af4988ea7 100644 --- a/app/views/layouts/application.haml +++ b/app/views/layouts/application.haml @@ -51,10 +51,15 @@ %ul.dropdown-menu{role: "menu"} %li.dropdown-header= t('shared.domain') %li - = link_to t('shared.domains'), admin_domain_versions_path + = 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.contacts'), admin_contact_versions_path + = link_to t('shared.versions'), admin_contact_versions_path + %li + = link_to t('shared.deleted'), admin_contact_histories_path %ul.nav.navbar-nav.navbar-right %li= link_to t('shared.log_out', user: current_user), '/logout' diff --git a/config/routes.rb b/config/routes.rb index ddaf9dc5f..db3ae27f0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -24,9 +24,11 @@ Rails.application.routes.draw do resources :users resources :epp_users resources :contact_versions - #resources :address_versions resources :domain_versions + resources :contact_histories + resources :domain_histories + root 'domains#index' end