summaryrefslogtreecommitdiff
path: root/app/policies
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-06-07 14:37:50 +0000
committerRémy Coutable <remy@rymai.me>2017-06-07 14:37:50 +0000
commitee0e3ffc057d9a033dab3fcc9025e71a6e76bc74 (patch)
treef326227fa14deacbdd323378d58bd2f6ef86f6d0 /app/policies
parentd030393adb414a9264623f403d2b6f39adcf3b4e (diff)
parent3d70eeb5bb9dac8073a149547dc3b85c90d65e7d (diff)
downloadgitlab-ce-ee0e3ffc057d9a033dab3fcc9025e71a6e76bc74.tar.gz
Merge branch '3191-deploy-keys-update' into 'master'
Implement ability to update deploy keys Closes #3191 See merge request !10383
Diffstat (limited to 'app/policies')
-rw-r--r--app/policies/deploy_key_policy.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/policies/deploy_key_policy.rb b/app/policies/deploy_key_policy.rb
new file mode 100644
index 00000000000..ebab213e6be
--- /dev/null
+++ b/app/policies/deploy_key_policy.rb
@@ -0,0 +1,11 @@
+class DeployKeyPolicy < BasePolicy
+ def rules
+ return unless @user
+
+ can! :update_deploy_key if @user.admin?
+
+ if @subject.private? && @user.project_deploy_keys.exists?(id: @subject.id)
+ can! :update_deploy_key
+ end
+ end
+end