diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-12-22 20:02:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-22 20:02:09 +0100 |
commit | 3c033c4352f8b156887cd7157b4a89c23a545838 (patch) | |
tree | fa6317223a0104abea84a10e6234a0beef316001 /app/policies | |
parent | 00862dcaff7cb918d29947accda1c01873a7ddeb (diff) |
Add moderation warnings (#9519)
* Add moderation warnings
Replace individual routes for disabling, silencing, and suspending
a user, as well as the report update route, with a unified account
action controller that allows you to select an action (none,
disable, silence, suspend) as well as whether it should generate an
e-mail notification with optional custom text. That notification,
with the optional custom text, is saved as a warning.
Additionally, there are warning presets you can configure to save
time when performing the above.
* Use Account#local_username_and_domain
Diffstat (limited to 'app/policies')
-rw-r--r-- | app/policies/account_policy.rb | 4 | ||||
-rw-r--r-- | app/policies/account_warning_preset_policy.rb | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/app/policies/account_policy.rb b/app/policies/account_policy.rb index 07bae68efb8..9c145979d6c 100644 --- a/app/policies/account_policy.rb +++ b/app/policies/account_policy.rb @@ -9,6 +9,10 @@ class AccountPolicy < ApplicationPolicy staff? end + def warn? + staff? && !record.user&.staff? + end + def suspend? staff? && !record.user&.staff? end diff --git a/app/policies/account_warning_preset_policy.rb b/app/policies/account_warning_preset_policy.rb new file mode 100644 index 00000000000..bccbd33efd4 --- /dev/null +++ b/app/policies/account_warning_preset_policy.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class AccountWarningPresetPolicy < ApplicationPolicy + def index? + staff? + end + + def create? + staff? + end + + def update? + staff? + end + + def destroy? + staff? + end +end |