summaryrefslogtreecommitdiff
path: root/app/serializers/environment_entity.rb
diff options
context:
space:
mode:
authorMykhailo Formus <mikeformus@gmail.com>2018-07-12 09:55:01 +0000
committerMykhailo Formus <mikeformus@gmail.com>2018-07-12 09:55:01 +0000
commit7a21f39df92baaa88f9533316e7b19c9c70bd91e (patch)
tree090f49a7edc682c31ac29465205c16201bdbe03d /app/serializers/environment_entity.rb
parent331f8d71b2c778f10b926114caeb718bce7294d6 (diff)
parent767ccaa1725048cd2b27fbf1081cba3ba89d2926 (diff)
downloadgitlab-ce-mikeformus/gitlab-ce-qa-264.tar.gz
Merge branch 'master' into qa-264mikeformus/gitlab-ce-qa-264
Diffstat (limited to 'app/serializers/environment_entity.rb')
-rw-r--r--app/serializers/environment_entity.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/serializers/environment_entity.rb b/app/serializers/environment_entity.rb
index ba0ae6ba8a0..0fc3f92b151 100644
--- a/app/serializers/environment_entity.rb
+++ b/app/serializers/environment_entity.rb
@@ -7,7 +7,7 @@ class EnvironmentEntity < Grape::Entity
expose :external_url
expose :environment_type
expose :last_deployment, using: DeploymentEntity
- expose :stop_action?
+ expose :stop_action?, as: :has_stop_action
expose :metrics_path, if: -> (environment, _) { environment.has_metrics? } do |environment|
metrics_project_environment_path(environment.project, environment)
@@ -31,4 +31,14 @@ class EnvironmentEntity < Grape::Entity
end
expose :created_at, :updated_at
+
+ expose :can_stop do |environment|
+ environment.available? && can?(current_user, :stop_environment, environment)
+ end
+
+ private
+
+ def current_user
+ request.current_user
+ end
end