Commit ed4ec0da authored by Grzegorz Bizon's avatar Grzegorz Bizon

Add support for detailed status to status helpers

parent 5e3cfe2f
...@@ -6,7 +6,8 @@ module CiStatusHelper ...@@ -6,7 +6,8 @@ module CiStatusHelper
def ci_status_with_icon(status, target = nil) def ci_status_with_icon(status, target = nil)
content = ci_icon_for_status(status) + ci_label_for_status(status) content = ci_icon_for_status(status) + ci_label_for_status(status)
klass = "ci-status ci-#{status}" klass = "ci-status ci-#{status}" # TODO, add support for detailed status
if target if target
link_to content, target, class: klass link_to content, target, class: klass
else else
...@@ -15,11 +16,13 @@ module CiStatusHelper ...@@ -15,11 +16,13 @@ module CiStatusHelper
end end
def ci_label_for_status(status) def ci_label_for_status(status)
if detailed_status?(status)
return status.label
end
case status case status
when 'success' when 'success'
'passed' 'passed'
when 'success_with_warnings'
'passed with warnings'
else else
status status
end end
...@@ -32,25 +35,27 @@ module CiStatusHelper ...@@ -32,25 +35,27 @@ module CiStatusHelper
def ci_icon_for_status(status) def ci_icon_for_status(status)
icon_name = icon_name =
case status if detailed_status?(status)
when 'success' status.icon
'icon_status_success'
when 'success_with_warnings'
'icon_status_warning'
when 'failed'
'icon_status_failed'
when 'pending'
'icon_status_pending'
when 'running'
'icon_status_running'
when 'play'
'icon_play'
when 'created'
'icon_status_created'
when 'skipped'
'icon_status_skipped'
else else
'icon_status_canceled' case status
when 'success'
'icon_status_success'
when 'failed'
'icon_status_failed'
when 'pending'
'icon_status_pending'
when 'running'
'icon_status_running'
when 'play'
'icon_play'
when 'created'
'icon_status_created'
when 'skipped'
'icon_status_skipped'
else
'icon_status_canceled'
end
end end
custom_icon(icon_name) custom_icon(icon_name)
...@@ -94,4 +99,10 @@ module CiStatusHelper ...@@ -94,4 +99,10 @@ module CiStatusHelper
class: klass, title: title, data: data class: klass, title: title, data: data
end end
end end
def detailed_status?(status)
status.respond_to?(:text) &&
status.respond_to?(:label) &&
status.respond_to?(:icon)
end
end end
- status = pipeline.status - status = pipeline.status
- detailed_status = pipeline.detailed_status
- show_commit = local_assigns.fetch(:show_commit, true) - show_commit = local_assigns.fetch(:show_commit, true)
- show_branch = local_assigns.fetch(:show_branch, true) - show_branch = local_assigns.fetch(:show_branch, true)
%tr.commit %tr.commit
%td.commit-link %td.commit-link
= link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id), class: "ci-status ci-#{status}" do = link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id), class: "ci-status ci-#{status}" do
= ci_icon_for_status(status) = ci_icon_for_status(detailed_status)
= ci_label_for_status(status) = ci_label_for_status(detailed_status)
%td %td
= link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id) do = link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id) do
......
.page-content-header .page-content-header
.header-main-content .header-main-content
= ci_status_with_icon(@pipeline.status) = ci_status_with_icon(@pipeline.detailed_status)
%strong Pipeline ##{@commit.pipelines.last.id} %strong Pipeline ##{@commit.pipelines.last.id}
triggered #{time_ago_with_tooltip(@commit.authored_date)} by triggered #{time_ago_with_tooltip(@commit.authored_date)} by
= author_avatar(@commit, size: 24) = author_avatar(@commit, size: 24)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment