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
def ci_status_with_icon(status, target = nil)
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
link_to content, target, class: klass
else
......@@ -15,11 +16,13 @@ module CiStatusHelper
end
def ci_label_for_status(status)
if detailed_status?(status)
return status.label
end
case status
when 'success'
'passed'
when 'success_with_warnings'
'passed with warnings'
else
status
end
......@@ -32,25 +35,27 @@ module CiStatusHelper
def ci_icon_for_status(status)
icon_name =
case status
when 'success'
'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'
if detailed_status?(status)
status.icon
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
custom_icon(icon_name)
......@@ -94,4 +99,10 @@ module CiStatusHelper
class: klass, title: title, data: data
end
end
def detailed_status?(status)
status.respond_to?(:text) &&
status.respond_to?(:label) &&
status.respond_to?(:icon)
end
end
- status = pipeline.status
- detailed_status = pipeline.detailed_status
- show_commit = local_assigns.fetch(:show_commit, true)
- show_branch = local_assigns.fetch(:show_branch, true)
%tr.commit
%td.commit-link
= 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_label_for_status(status)
= ci_icon_for_status(detailed_status)
= ci_label_for_status(detailed_status)
%td
= link_to namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline.id) do
......
.page-content-header
.header-main-content
= ci_status_with_icon(@pipeline.status)
= ci_status_with_icon(@pipeline.detailed_status)
%strong Pipeline ##{@commit.pipelines.last.id}
triggered #{time_ago_with_tooltip(@commit.authored_date)} by
= 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