diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2022-02-14 21:27:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-14 21:27:53 +0100 |
commit | 564efd06515edc524a8a1cdf7a3d8a7d9a376c04 (patch) | |
tree | a0d0a8ec693e06ef67ef25ec22128da291c318d1 /app/policies | |
parent | 5be705e1e0e3c05486c6069a7c8387c123a6d405 (diff) |
Add appeals (#17364)
* Add appeals * Add ability to reject appeals and ability to browse pending appeals in admin UI * Add strikes to account page in settings * Various fixes and improvements - Add separate notification setting for appeals, separate from reports - Fix style of links in report/strike header - Change approving an appeal to not restore statuses (due to federation complexities) - Change style of successfully appealed strikes on account settings page - Change account settings page to only show unappealed or recently appealed strikes * Change appealed_at to overruled_at * Fix missing method error
Diffstat (limited to 'app/policies')
-rw-r--r-- | app/policies/account_warning_policy.rb | 17 | ||||
-rw-r--r-- | app/policies/appeal_policy.rb | 13 |
2 files changed, 30 insertions, 0 deletions
diff --git a/app/policies/account_warning_policy.rb b/app/policies/account_warning_policy.rb new file mode 100644 index 000000000..6b92da475 --- /dev/null +++ b/app/policies/account_warning_policy.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AccountWarningPolicy < ApplicationPolicy + def show? + target? || staff? + end + + def appeal? + target? + end + + private + + def target? + record.target_account_id == current_account&.id + end +end diff --git a/app/policies/appeal_policy.rb b/app/policies/appeal_policy.rb new file mode 100644 index 000000000..a25187172 --- /dev/null +++ b/app/policies/appeal_policy.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +class AppealPolicy < ApplicationPolicy + def index? + staff? + end + + def approve? + record.pending? && staff? + end + + alias reject? approve? +end |