eedirekt domain histories

This commit is contained in:
Andres Keskküla 2014-10-03 13:49:58 +03:00
parent a426862aa8
commit 9e9cc07075
7 changed files with 111 additions and 1 deletions

View file

@ -0,0 +1,19 @@
class Client::DomainVersionsController < ClientController
before_action :set_version, only: [:show]
def index
@versions = DomainVersion.registrar_events(current_user.registrar.id)
@versions.flatten!
end
def show
@event = params[:event]
@domain = @version.reify(has_multiple: true) unless @event == 'create'
end
private
def set_version
@version = DomainVersion.find(params[:id])
end
end

View file

@ -0,0 +1,24 @@
module UserEvents
extend ActiveSupport::Concern
module ClassMethods
def registrar_events(id)
registrar = Registrar.find(id)
return nil unless registrar
@events = []
registrar.users.each { |user| @events << user_events(user.id) }
registrar.epp_users.each { |user| @events << user_events(user.id) }
@events
end
def user_events(id)
where(whodunnit: id.to_s)
end
def epp_user_events(id)
where(whodunnit: "#{id}-EppUser")
end
end
end

View file

@ -1,4 +1,6 @@
class DomainVersion < PaperTrail::Version
include UserEvents
scope :deleted, -> { where(event: 'destroy') }
self.table_name = :domain_versions

View file

@ -18,6 +18,8 @@
= t('shared.whodunnit')
%th{class: 'col-xs-2'}
= t('shared.created_at')
%th{class: 'col-xs-1'}
= t('shared.contact')
%th{class: 'col-xs-1'}
= t('shared.details')
=# sort_link(@q, 'email', t('shared.email'))
@ -25,8 +27,9 @@
- @versions.each do |x|
%tr
%td= x.event
%td= x.whodunnit
%td= link_to_whodunnit(x.whodunnit)
%td= l(x.created_at, format: :short)
%td= link_to(t('shared.contact'), client_contact_path(x.item_id))
%td= link_to(t('shared.details'), client_contact_version_path(x, event: x.event))
.row
.col-md-12

View file

@ -0,0 +1,37 @@
.row
.col-sm-6
%h2.text-center-xs= t('shared.contacts')
=# render 'admin/contacts/partials/search'
.col-sm-6
%h2.text-right.text-center-xs
= link_to(t('shared.create_new_contact'), new_client_domain_path, 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'}
= t('shared.event')
%th{class: 'col-xs-2'}
= t('shared.whodunnit')
%th{class: 'col-xs-2'}
= t('shared.created_at')
%th{class: 'col-xs-1'}
= t('shared.item_id')
=# sort_link(@q, 'email', t('shared.email'))
%th{class: 'col-xs-1'}
= t('shared.details')
%tbody
- @versions.each do |x|
%tr
%td= x.event
%td= x.whodunnit
%td= l(x.created_at, format: :short)
%td= link_to(t('shared.domain'), client_domain_path(x.item_id))
%td= link_to(t('shared.details'), client_domain_version_path(x, event: x.event))
.row
.col-md-12
=# paginate @contacts

View file

@ -0,0 +1,24 @@
.row
.col-sm-6
%h2.text-center-xs= t('shared.domains')
%hr
.row
- if @event != 'create'
.col-sm-6= render 'client/domains/partials/general'
- if @event != 'create' && @domain.owner_contact
.col-sm-6= render 'client/domains/partials/owner'
- if @event != 'create' && @domain.tech_contacts
.col-sm-6= render 'client/domains/partials/tech_contacts'
.col-sm-6
.panel.panel-default
.panel-heading
%h3.panel-title= t('shared.version')
.panel-body
%dl.dl-horizontal
%dt= t('shared.whodunnit')
%dd= @version.whodunnit
%dt= t('shared.event')
%dd= @version.event
%dt= t('shared.created_at')
%dd= l(@version.created_at, format: :short)

View file

@ -49,6 +49,7 @@ Rails.application.routes.draw do
end
resources :contact_versions
resources :domain_versions
root 'domains#index'
end