You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.4 KiB
67 lines
1.4 KiB
# frozen_string_literal: true |
|
|
|
class AccountPolicy < ApplicationPolicy |
|
def index? |
|
role.can?(:manage_users) |
|
end |
|
|
|
def show? |
|
role.can?(:manage_users) |
|
end |
|
|
|
def warn? |
|
role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) |
|
end |
|
|
|
def suspend? |
|
role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) && !record.instance_actor? |
|
end |
|
|
|
def destroy? |
|
record.suspended_temporarily? && role.can?(:delete_user_data) |
|
end |
|
|
|
def unsuspend? |
|
role.can?(:manage_users) && record.suspension_origin_local? |
|
end |
|
|
|
def sensitive? |
|
role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) |
|
end |
|
|
|
def unsensitive? |
|
role.can?(:manage_users) |
|
end |
|
|
|
def silence? |
|
role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) |
|
end |
|
|
|
def unsilence? |
|
role.can?(:manage_users) |
|
end |
|
|
|
def redownload? |
|
role.can?(:manage_federation) |
|
end |
|
|
|
def remove_avatar? |
|
role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) |
|
end |
|
|
|
def remove_header? |
|
role.can?(:manage_users, :manage_reports) && role.overrides?(record.user_role) |
|
end |
|
|
|
def memorialize? |
|
role.can?(:delete_user_data) && role.overrides?(record.user_role) && !record.instance_actor? |
|
end |
|
|
|
def unblock_email? |
|
role.can?(:manage_users) |
|
end |
|
|
|
def review? |
|
role.can?(:manage_taxonomies) |
|
end |
|
end
|
|
|