Welcome to mirror list, hosted at ThFree Co, Russian Federation.

organization_policy.rb « organizations « policies « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 1c0d996c7d441836a5bdd3deb8fdcd37eeee98e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

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