docbrown/app/policies/organization_policy.rb
Anna Buianova 473594f192
Match spam role with existing suspended actions (#20477)
* Started matching spam and suspended roles

* Match spam and suspended roles in most cases

* Fixed check_suspended for unauthenticated users
2023-12-27 20:12:50 +00:00

35 lines
666 B
Ruby

class OrganizationPolicy < ApplicationPolicy
def create?
!user.spam_or_suspended?
end
def update?
user.org_admin?(record)
end
def destroy?
user.super_admin? || (user.org_admin?(record) && record.destroyable?)
end
def leave_org?
part_of_org?
end
def part_of_org?
return false if record.blank?
user.org_member?(record)
end
def admin_of_org?
return false if record.blank?
user.org_admin?(record)
end
alias generate_new_secret? update?
# The analytics? policy method is also on the UserPolicy. This exists specifically to allow for
# "duck-typing" on the tests.
alias analytics? part_of_org?
end