Add moderator role and add pundit policies for admin actions (#5635)
* Add moderator role and add pundit policies for admin actions * Add rake task for turning user into mod and revoking it again * Fix handling of unauthorized exception * Deliver new report e-mails to staff, not just admins * Add promote/demote to admin UI, hide some actions conditionally * Fix unused i18n
This commit is contained in:
parent
2b1190065c
commit
7bb8b0b2fc
44 changed files with 539 additions and 91 deletions
43
app/policies/account_policy.rb
Normal file
43
app/policies/account_policy.rb
Normal file
|
@ -0,0 +1,43 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AccountPolicy < ApplicationPolicy
|
||||
def index?
|
||||
staff?
|
||||
end
|
||||
|
||||
def show?
|
||||
staff?
|
||||
end
|
||||
|
||||
def suspend?
|
||||
staff? && !record.user&.staff?
|
||||
end
|
||||
|
||||
def unsuspend?
|
||||
staff?
|
||||
end
|
||||
|
||||
def silence?
|
||||
staff? && !record.user&.staff?
|
||||
end
|
||||
|
||||
def unsilence?
|
||||
staff?
|
||||
end
|
||||
|
||||
def redownload?
|
||||
admin?
|
||||
end
|
||||
|
||||
def subscribe?
|
||||
admin?
|
||||
end
|
||||
|
||||
def unsubscribe?
|
||||
admin?
|
||||
end
|
||||
|
||||
def memorialize?
|
||||
admin? && !record.user&.admin?
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue