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.
glitchier-soc/app/policies/account_policy.rb

72 lines
910 B

# frozen_string_literal: true
class AccountPolicy < ApplicationPolicy
def index?
staff?
end
def show?
staff?
end
def warn?
staff? && !record.user&.staff?
end
def suspend?
staff? && !record.user&.staff? && !record.instance_actor?
end
def destroy?
record.suspended_temporarily? && admin?
end
def unsuspend?
staff? && record.suspension_origin_local?
end
def sensitive?
staff? && !record.user&.staff?
end
def unsensitive?
staff?
end
def silence?
staff? && !record.user&.staff?
end
def unsilence?
staff?
end
def redownload?
admin?
end
def remove_avatar?
staff?
end
def remove_header?
staff?
end
def subscribe?
admin?
end
def unsubscribe?
admin?
end
def memorialize?
admin? && !record.user&.admin? && !record.instance_actor?
end
def unblock_email?
staff?
end
end