summaryrefslogtreecommitdiff
path: root/app/policies/project_group_link_policy.rb
blob: 00bb246d70bd9222fb171cb6ff5d548ccdc6f305 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# frozen_string_literal: true

class ProjectGroupLinkPolicy < BasePolicy # rubocop:disable Gitlab/NamespacedClass
  condition(:group_owner_or_project_admin) { group_owner? || project_admin? }

  rule { group_owner_or_project_admin }.enable :admin_project_group_link

  private

  def group_owner?
    can?(:admin_group, @subject.group)
  end

  def project_admin?
    can?(:admin_project, @subject.project)
  end
end