about summary refs log tree commit diff
path: root/app/models
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-08-22 11:53:41 +0200
committerGitHub <noreply@github.com>2018-08-22 11:53:41 +0200
commit2374a00c1062a70e9092d88579e1351e4c8128f9 (patch)
tree73fbaf89e2421f587c616785d57b09974dda1605 /app/models
parent28de046b8bca87dab9d316c59a5afa3a0b24c5a6 (diff)
Add confirmation step to account suspensions (#8353)
* Add confirmation page for suspensions

* Suspension confirmation closes reports, linked from report UI

* Fix tests
Diffstat (limited to 'app/models')
-rw-r--r--app/models/account.rb7
-rw-r--r--app/models/form/admin_suspension_confirmation.rb7
2 files changed, 14 insertions, 0 deletions
diff --git a/app/models/account.rb b/app/models/account.rb
index c33ec4bd5..440a731e3 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -193,6 +193,13 @@ class Account < ApplicationRecord
     ResolveAccountService.new.call(acct)
   end
 
+  def suspend!
+    transaction do
+      user&.disable! if local?
+      update!(suspended: true)
+    end
+  end
+
   def unsuspend!
     transaction do
       user&.enable! if local?
diff --git a/app/models/form/admin_suspension_confirmation.rb b/app/models/form/admin_suspension_confirmation.rb
new file mode 100644
index 000000000..c34b5b30e
--- /dev/null
+++ b/app/models/form/admin_suspension_confirmation.rb
@@ -0,0 +1,7 @@
+# frozen_string_literal: true
+
+class Form::AdminSuspensionConfirmation
+  include ActiveModel::Model
+
+  attr_accessor :acct, :report_id
+end