summaryrefslogtreecommitdiff
path: root/app/policies
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-25 18:09:46 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-25 18:09:46 +0000
commite2c80979588d801d6def0dab9e3bf180ae91cf01 (patch)
tree2d4eaa832514aacc77c8f7c9c96931626129338e /app/policies
parentf4fb4d59484318767d9e687b3123b70fa01854be (diff)
downloadgitlab-ce-e2c80979588d801d6def0dab9e3bf180ae91cf01.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/policies')
-rw-r--r--app/policies/group_policy.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/app/policies/group_policy.rb b/app/policies/group_policy.rb
index c98e82efef7..4d466e1842b 100644
--- a/app/policies/group_policy.rb
+++ b/app/policies/group_policy.rb
@@ -46,6 +46,16 @@ class GroupPolicy < BasePolicy
group_projects_for(user: @user, group: @subject, only_owned: false).any? { |p| p.design_management_enabled? }
end
+ desc "Deploy token with read_package_registry scope"
+ condition(:read_package_registry_deploy_token) do
+ @user.is_a?(DeployToken) && @user.groups.include?(@subject) && @user.read_package_registry
+ end
+
+ desc "Deploy token with write_package_registry scope"
+ condition(:write_package_registry_deploy_token) do
+ @user.is_a?(DeployToken) && @user.groups.include?(@subject) && @user.write_package_registry
+ end
+
rule { design_management_enabled }.policy do
enable :read_design_activity
end
@@ -91,7 +101,6 @@ class GroupPolicy < BasePolicy
rule { developer }.policy do
enable :admin_milestone
- enable :read_package
enable :create_metrics_dashboard_annotation
enable :delete_metrics_dashboard_annotation
enable :update_metrics_dashboard_annotation
@@ -105,6 +114,7 @@ class GroupPolicy < BasePolicy
enable :admin_issue
enable :read_metrics_dashboard_annotation
enable :read_prometheus
+ enable :read_package
end
rule { maintainer }.policy do
@@ -167,6 +177,16 @@ class GroupPolicy < BasePolicy
rule { maintainer & can?(:create_projects) }.enable :transfer_projects
+ rule { read_package_registry_deploy_token }.policy do
+ enable :read_package
+ enable :read_group
+ end
+
+ rule { write_package_registry_deploy_token }.policy do
+ enable :create_package
+ enable :read_group
+ end
+
def access_level
return GroupMember::NO_ACCESS if @user.nil?
return GroupMember::NO_ACCESS unless user_is_user?