From 4858ae0b19314c3971b131b5c855b847c8091706 Mon Sep 17 00:00:00 2001 From: Jeff Wong Date: Thu, 10 Dec 2020 07:06:41 -1000 Subject: [PATCH] DEV: Expose silencer customization options to plugins (#11456) Passes by_user to :user_unsilenced so plugins can detect whether or not a silence was done automatically (by system user) or manually (by non-system) Adds the ability to pass details in the action logger params so custom loggers can pass their own details eg, in custom silence logs --- app/services/staff_action_logger.rb | 2 +- app/services/user_silencer.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/staff_action_logger.rb b/app/services/staff_action_logger.rb index 925ef24e8c3..a5cd2b7f157 100644 --- a/app/services/staff_action_logger.rb +++ b/app/services/staff_action_logger.rb @@ -821,7 +821,7 @@ class StaffActionLogger def params(opts = nil) opts ||= {} - { acting_user_id: @admin.id, context: opts[:context] } + { acting_user_id: @admin.id, context: opts[:context], details: opts[:details] } end def validate_category(category) diff --git a/app/services/user_silencer.rb b/app/services/user_silencer.rb index 335175c0d40..51f7d23ce58 100644 --- a/app/services/user_silencer.rb +++ b/app/services/user_silencer.rb @@ -80,7 +80,7 @@ class UserSilencer def unsilence @user.silenced_till = nil if @user.save - DiscourseEvent.trigger(:user_unsilenced, user: @user) + DiscourseEvent.trigger(:user_unsilenced, user: @user, by_user: @by_user) SystemMessage.create(@user, :unsilenced) StaffActionLogger.new(@by_user).log_unsilence_user(@user) if @by_user end