From b5608c13941c2912ff171c6ad086c4b2fecbcb25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20Keskk=C3=BCla?= Date: Wed, 1 Oct 2014 15:06:37 +0300 Subject: [PATCH] Whodunnit helper to distinguish user from epp_user --- app/controllers/epp/commands_controller.rb | 5 +++++ app/helpers/whodunnit_helper.rb | 13 +++++++++++++ app/views/admin/contact_histories/index.haml | 4 ++-- app/views/admin/contact_versions/index.haml | 2 +- app/views/admin/domain_histories/index.haml | 2 +- app/views/admin/domain_versions/index.haml | 2 +- 6 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 app/helpers/whodunnit_helper.rb diff --git a/app/controllers/epp/commands_controller.rb b/app/controllers/epp/commands_controller.rb index debc1449a..abcb0792f 100644 --- a/app/controllers/epp/commands_controller.rb +++ b/app/controllers/epp/commands_controller.rb @@ -3,6 +3,7 @@ class Epp::CommandsController < ApplicationController include Epp::DomainsHelper include Epp::ContactsHelper include Shared::UserStamper + helper WhodunnitHelper layout false @@ -35,4 +36,8 @@ class Epp::CommandsController < ApplicationController def update send("update_#{OBJECT_TYPES[params_hash['epp']['xmlns:ns2']]}") end + + def user_for_paper_trail + current_epp_user ? "#{current_epp_user.id}-EppUser" : nil + end end diff --git a/app/helpers/whodunnit_helper.rb b/app/helpers/whodunnit_helper.rb new file mode 100644 index 000000000..871cabd71 --- /dev/null +++ b/app/helpers/whodunnit_helper.rb @@ -0,0 +1,13 @@ +module WhodunnitHelper + def link_to_whodunnit(whodunnit) + return nil unless whodunnit + if whodunnit.include?('-EppUser') + user = EppUser.find(whodunnit) + return link_to(user.username, admin_epp_user_path(user)) + end + user = User.find(whodunnit) + return link_to(user.username, admin_user_path(user)) + rescue ActiveRecord::RecordNotFound + return nil + end +end diff --git a/app/views/admin/contact_histories/index.haml b/app/views/admin/contact_histories/index.haml index 51b3e791b..8e46dc0ac 100644 --- a/app/views/admin/contact_histories/index.haml +++ b/app/views/admin/contact_histories/index.haml @@ -11,7 +11,7 @@ %th{class: 'col-xs-2'} = t('shared.name') %th{class: 'col-xs-1'} - = t('shared.contact_id') + = t('shared.code') %th{class: 'col-xs-1'} = sort_link(@q, 'whodunnit', t('shared.whodunnit')) %th{class: 'col-xs-2'} @@ -23,7 +23,7 @@ %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= link_to_whodunnit(version.whodunnit) if version %td= l(version.created_at, format: :short) if version .row .col-md-12 diff --git a/app/views/admin/contact_versions/index.haml b/app/views/admin/contact_versions/index.haml index a87f98e15..7d926a8bc 100644 --- a/app/views/admin/contact_versions/index.haml +++ b/app/views/admin/contact_versions/index.haml @@ -31,7 +31,7 @@ %tr %td= x.name #link_to(x, admin_contact_path(x)) %td= x.code #link_to(x, admin_contact_path(x)) - %td= x.versions.last.whodunnit if x.versions.last + %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') diff --git a/app/views/admin/domain_histories/index.haml b/app/views/admin/domain_histories/index.haml index f65f174b0..6a1cea5ab 100644 --- a/app/views/admin/domain_histories/index.haml +++ b/app/views/admin/domain_histories/index.haml @@ -23,7 +23,7 @@ %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= link_to_whodunnit(version.whodunnit) if version %td= l(version.created_at, format: :short) if version .row .col-md-12 diff --git a/app/views/admin/domain_versions/index.haml b/app/views/admin/domain_versions/index.haml index 5aee81764..b8229cd30 100644 --- a/app/views/admin/domain_versions/index.haml +++ b/app/views/admin/domain_versions/index.haml @@ -29,7 +29,7 @@ %td= domain.name %td= domain.registrar.name if domain.registrar %td= domain.owner_contact.name if domain.owner_contact - %td= domain.versions.last.whodunnit if domain.versions.last + %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')