about summary refs log tree commit diff
path: root/app/models/admin/account_action.rb
diff options
context:
space:
mode:
authorFire Demon <firedemon@creature.cafe>2020-11-12 17:42:53 -0600
committerFire Demon <firedemon@creature.cafe>2020-11-14 17:39:08 -0600
commitf60e0b62f4e5300645f235983e5b75bcf16b370d (patch)
tree0c437e6600b7a8bdf806d63fa76ce751bbe66d58 /app/models/admin/account_action.rb
parentec3abd7c87116ad2df5b1da5701afe68a7f74844 (diff)
parent265b26489a9214a6c98a4dfa88f08ce490211ebc (diff)
Merge remote-tracking branch 'upstream/master' into merge-glitch
Diffstat (limited to 'app/models/admin/account_action.rb')
-rw-r--r--app/models/admin/account_action.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/app/models/admin/account_action.rb b/app/models/admin/account_action.rb
index c4ac09520..bf222391f 100644
--- a/app/models/admin/account_action.rb
+++ b/app/models/admin/account_action.rb
@@ -8,6 +8,7 @@ class Admin::AccountAction
   TYPES = %w(
     none
     disable
+    sensitive
     silence
     suspend
   ).freeze
@@ -64,6 +65,8 @@ class Admin::AccountAction
     case type
     when 'disable'
       handle_disable!
+    when 'sensitive'
+      handle_sensitive!
     when 'silence'
       handle_silence!
     when 'suspend'
@@ -109,6 +112,12 @@ class Admin::AccountAction
     target_account.user&.disable!
   end
 
+  def handle_sensitive!
+    authorize(target_account, :sensitive?)
+    log_action(:sensitive, target_account)
+    target_account.sensitize!
+  end
+
   def handle_silence!
     authorize(target_account, :silence?)
     log_action(:silence, target_account)
@@ -118,7 +127,7 @@ class Admin::AccountAction
   def handle_suspend!
     authorize(target_account, :suspend?)
     log_action(:suspend, target_account)
-    target_account.suspend!
+    target_account.suspend!(origin: :local)
   end
 
   def text_for_warning