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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2019-02-08 15:53:35 +0300
committerFilipa Lacerda <filipa@gitlab.com>2019-02-08 15:53:35 +0300
commit6b99848be3b444d015519a9a0b4ac9fa76cdd8e1 (patch)
tree1025523a32a09ebffc527280604f24aae120ee26 /app/serializers
parentacb939d7e9009b178d29fbcd4b286dadec547acb (diff)
Move permission check of manual actions of deployments
Diffstat (limited to 'app/serializers')
-rw-r--r--app/serializers/deployment_entity.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/app/serializers/deployment_entity.rb b/app/serializers/deployment_entity.rb
index aa1d9e6292c..34ae06278c8 100644
--- a/app/serializers/deployment_entity.rb
+++ b/app/serializers/deployment_entity.rb
@@ -24,6 +24,12 @@ class DeploymentEntity < Grape::Entity
expose :user, using: UserEntity
expose :commit, using: CommitEntity
expose :deployable, using: JobEntity
- expose :manual_actions, using: JobEntity
- expose :scheduled_actions, using: JobEntity
+ expose :manual_actions, using: JobEntity, if: -> (*) { can_create_deployment? }
+ expose :scheduled_actions, using: JobEntity, if: -> (*) { can_create_deployment? }
+
+ private
+
+ def can_create_deployment?
+ can?(request.current_user, :create_deployment, request.project)
+ end
end