diff options
Diffstat (limited to 'app/policies/organizations/organization_policy.rb')
-rw-r--r-- | app/policies/organizations/organization_policy.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/app/policies/organizations/organization_policy.rb b/app/policies/organizations/organization_policy.rb index cac8d07811d..1c0d996c7d4 100644 --- a/app/policies/organizations/organization_policy.rb +++ b/app/policies/organizations/organization_policy.rb @@ -2,8 +2,22 @@ module Organizations class OrganizationPolicy < BasePolicy + condition(:organization_user) { @subject.user?(@user) } + + desc 'Organization is public' + condition(:public_organization, scope: :subject, score: 0) { true } + + rule { public_organization }.policy do + enable :read_organization + end + rule { admin }.policy do enable :admin_organization + enable :read_organization + end + + rule { organization_user }.policy do + enable :read_organization end end end |