From 2eda8789d1e84e5646dc3eb89f86ea2d3183930f Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Sat, 15 Aug 2020 14:49:08 +0100 Subject: [PATCH] Add user id logging to OrderCycle an Schedule PaperTrail entries --- .../admin/order_cycles_controller.rb | 1 + app/controllers/admin/schedules_controller.rb | 2 ++ app/controllers/concerns/paper_trail_logging.rb | 17 +++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 app/controllers/concerns/paper_trail_logging.rb diff --git a/app/controllers/admin/order_cycles_controller.rb b/app/controllers/admin/order_cycles_controller.rb index 4441403ef0..f6ec38293a 100644 --- a/app/controllers/admin/order_cycles_controller.rb +++ b/app/controllers/admin/order_cycles_controller.rb @@ -1,6 +1,7 @@ module Admin class OrderCyclesController < ResourceController include OrderCyclesHelper + include PaperTrailLogging prepend_before_action :set_order_cycle_id, only: [:incoming, :outgoing] before_action :load_data_for_index, only: :index diff --git a/app/controllers/admin/schedules_controller.rb b/app/controllers/admin/schedules_controller.rb index cdf6829e54..17d43fcb72 100644 --- a/app/controllers/admin/schedules_controller.rb +++ b/app/controllers/admin/schedules_controller.rb @@ -3,6 +3,8 @@ require 'order_management/subscriptions/proxy_order_syncer' module Admin class SchedulesController < ResourceController + include PaperTrailLogging + before_action :adapt_params, only: [:update] before_action :editable_order_cycle_ids_for_create, only: [:create] before_action :editable_order_cycle_ids_for_update, only: [:update] diff --git a/app/controllers/concerns/paper_trail_logging.rb b/app/controllers/concerns/paper_trail_logging.rb new file mode 100644 index 0000000000..18881abac8 --- /dev/null +++ b/app/controllers/concerns/paper_trail_logging.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +# This concern adds additional Papertrail logging options so that the id of the +# user that modified the record is also logged. +# See: https://github.com/paper-trail-gem/paper_trail#setting-whodunnit-with-a-controller-callback + +module PaperTrailLogging + extend ActiveSupport::Concern + + included do + before_action :set_paper_trail_whodunnit + end + + def user_for_paper_trail + spree_current_user + end +end