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:
Diffstat (limited to 'app/serializers/stage_entity.rb')
-rw-r--r--app/serializers/stage_entity.rb28
1 files changed, 23 insertions, 5 deletions
diff --git a/app/serializers/stage_entity.rb b/app/serializers/stage_entity.rb
index b57202a6267..1aebba3a2d1 100644
--- a/app/serializers/stage_entity.rb
+++ b/app/serializers/stage_entity.rb
@@ -3,17 +3,35 @@ class StageEntity < Grape::Entity
expose :name
- expose :status do |stage, options|
- StatusEntity.represent(
- stage.detailed_status(request.user),
- options)
+ expose :title do |stage|
+ "#{stage.name}: #{detailed_status.label}"
end
+ expose :detailed_status, as: :status,
+ with: StatusEntity
+
expose :path do |stage|
namespace_project_pipeline_path(
stage.pipeline.project.namespace,
stage.pipeline.project,
- stage.pipeline.id,
+ stage.pipeline,
anchor: stage.name)
end
+
+ expose :dropdown_path do |stage|
+ stage_namespace_project_pipeline_path(
+ stage.pipeline.project.namespace,
+ stage.pipeline.project,
+ stage.pipeline,
+ stage: stage.name,
+ format: :json)
+ end
+
+ private
+
+ alias_method :stage, :object
+
+ def detailed_status
+ stage.detailed_status(request.user)
+ end
end