2015-09-23 06:18:16 -04:00
|
|
|
module CiStatusHelper
|
|
|
|
def ci_status_path(ci_commit)
|
2015-10-06 10:21:19 -04:00
|
|
|
project = ci_commit.gl_project
|
2015-11-03 05:44:07 -05:00
|
|
|
builds_namespace_project_commit_path(project.namespace, project, ci_commit.sha)
|
2015-09-23 06:18:16 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def ci_status_icon(ci_commit)
|
2015-09-29 10:26:40 -04:00
|
|
|
ci_icon_for_status(ci_commit.status)
|
2015-09-23 06:18:16 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
def ci_status_color(ci_commit)
|
|
|
|
case ci_commit.status
|
|
|
|
when 'success'
|
|
|
|
'green'
|
|
|
|
when 'failed'
|
|
|
|
'red'
|
|
|
|
when 'running', 'pending'
|
|
|
|
'yellow'
|
|
|
|
else
|
|
|
|
'gray'
|
|
|
|
end
|
|
|
|
end
|
2015-09-29 10:26:40 -04:00
|
|
|
|
|
|
|
def ci_status_with_icon(status)
|
|
|
|
content_tag :span, class: "ci-status ci-#{status}" do
|
|
|
|
ci_icon_for_status(status) + ' '.html_safe + status
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def ci_icon_for_status(status)
|
|
|
|
icon_name =
|
|
|
|
case status
|
|
|
|
when 'success'
|
|
|
|
'check'
|
|
|
|
when 'failed'
|
|
|
|
'close'
|
|
|
|
when 'running', 'pending'
|
|
|
|
'clock-o'
|
|
|
|
else
|
|
|
|
'circle'
|
|
|
|
end
|
|
|
|
|
|
|
|
icon(icon_name)
|
|
|
|
end
|
2015-10-23 11:32:52 -04:00
|
|
|
|
|
|
|
def render_ci_status(ci_commit)
|
2015-10-23 12:21:43 -04:00
|
|
|
link_to ci_status_path(ci_commit),
|
|
|
|
class: "c#{ci_status_color(ci_commit)}",
|
|
|
|
title: "Build status: #{ci_commit.status}",
|
|
|
|
data: { toggle: 'tooltip', placement: 'left' } do
|
2015-10-23 11:32:52 -04:00
|
|
|
ci_status_icon(ci_commit)
|
|
|
|
end
|
|
|
|
end
|
2015-09-23 06:18:16 -04:00
|
|
|
end
|