summaryrefslogtreecommitdiff
path: root/app/views/shared/builds
diff options
context:
space:
mode:
authorKatarzyna Kobierska <kkobierska@gmail.com>2016-09-07 15:27:48 +0200
committerKatarzyna Kobierska <kkobierska@gmail.com>2016-09-13 09:05:07 +0200
commit80c86bcc5b778306825e7650ccaa3c01bfd75ac0 (patch)
tree092aff77d635586a3229cc8f91fa775808cedc45 /app/views/shared/builds
parent27c3a87194a3a29c06cf8a2dd489d28ca0b552ab (diff)
downloadgitlab-ce-80c86bcc5b778306825e7650ccaa3c01bfd75ac0.tar.gz
Create shared partial for project and admin builds
Diffstat (limited to 'app/views/shared/builds')
-rw-r--r--app/views/shared/builds/_build.html.haml101
-rw-r--r--app/views/shared/builds/_tabs.html.haml24
2 files changed, 125 insertions, 0 deletions
diff --git a/app/views/shared/builds/_build.html.haml b/app/views/shared/builds/_build.html.haml
new file mode 100644
index 00000000000..a5f38d0ce95
--- /dev/null
+++ b/app/views/shared/builds/_build.html.haml
@@ -0,0 +1,101 @@
+- admin = false unless admin
+- if admin
+ - project = build.project
+
+%tr.build.commit
+ %td.status
+ - if can?(current_user, :read_build, build)
+ = ci_status_with_icon(build.status, namespace_project_build_url(build.project.namespace, build.project, build))
+ - else
+ = ci_status_with_icon(build.status)
+
+ %td
+ .branch-commit
+ - if can?(current_user, :read_build, build)
+ = link_to namespace_project_build_url(build.project.namespace, build.project, build) do
+ %span.build-link ##{build.id}
+ - else
+ %span.build-link ##{build.id}
+
+ - if defined?(ref) && ref
+ - if build.ref
+ .icon-container
+ = build.tag? ? icon('tag') : icon('code-fork')
+ = link_to build.ref, namespace_project_commits_path(build.project.namespace, build.project, build.ref), class: "monospace branch-name"
+ - else
+ .light none
+ .icon-container
+ = custom_icon("icon_commit")
+
+ - if defined?(commit_sha) && commit_sha
+ = link_to build.short_sha, namespace_project_commit_path(build.project.namespace, build.project, build.sha), class: "commit-id monospace"
+
+ - if build.stuck?
+ = icon('warning', class: 'text-warning has-tooltip', title: 'Build is stuck. Check runners.')
+ - if defined?(retried) && retried
+ = icon('warning', class: 'text-warning has-tooltip', title: 'Build was retried.')
+
+ .label-container
+ - if build.tags.any?
+ - build.tags.each do |tag|
+ %span.label.label-primary
+ = tag
+ - if build.try(:trigger_request)
+ %span.label.label-info triggered
+ - if build.try(:allow_failure)
+ %span.label.label-danger allowed to fail
+ - if defined?(retried) && retried
+ %span.label.label-warning retried
+ - if build.manual?
+ %span.label.label-info manual
+
+ - if admin
+ %td
+ - if project
+ = link_to project.name_with_namespace, admin_namespace_project_path(project.namespace, project)
+
+ - if defined?(runner) && runner
+ %td
+ - if build.try(:runner)
+ = runner_link(build.runner)
+ - else
+ .light none
+
+ %td
+ = build.stage
+
+ %td
+ = build.name
+
+ %td
+ - if build.duration
+ %p.duration
+ = custom_icon("icon_timer")
+ = duration_in_numbers(build.duration)
+
+ - if build.finished_at
+ %p.finished-at
+ = icon("calendar")
+ %span #{time_ago_with_tooltip(build.finished_at)}
+
+ %td.coverage
+ - if defined?(coverage) && coverage
+ - if build.try(:coverage)
+ #{build.coverage}%
+
+ %td
+ .pull-right
+ - if can?(current_user, :read_build, build) && build.artifacts?
+ = link_to download_namespace_project_build_artifacts_path(build.project.namespace, build.project, build), title: 'Download artifacts', class: 'btn btn-build' do
+ = icon('download')
+ - if can?(current_user, :update_build, build)
+ - if build.active?
+ = link_to cancel_namespace_project_build_path(build.project.namespace, build.project, build, return_to: request.original_url), method: :post, title: 'Cancel', class: 'btn btn-build' do
+ = icon('remove', class: 'cred')
+ - elsif defined?(allow_retry) && allow_retry
+ - if build.retryable?
+ = link_to retry_namespace_project_build_path(build.project.namespace, build.project, build, return_to: request.original_url), method: :post, title: 'Retry', class: 'btn btn-build' do
+ = icon('repeat')
+ - elsif build.playable? && !admin
+ = link_to play_namespace_project_build_path(build.project.namespace, build.project, build, return_to: request.original_url), method: :post, title: 'Play', class: 'btn btn-build' do
+ = custom_icon('icon_play')
diff --git a/app/views/shared/builds/_tabs.html.haml b/app/views/shared/builds/_tabs.html.haml
new file mode 100644
index 00000000000..9c3173f7a1a
--- /dev/null
+++ b/app/views/shared/builds/_tabs.html.haml
@@ -0,0 +1,24 @@
+%ul.nav-links
+ %li{class: ('active' if scope.nil?)}
+ = link_to build_path[nil] do
+ All
+ %span.badge.js-totalbuilds-count
+ = number_with_delimiter(all_builds.count(:id))
+
+ %li{class: ('active' if scope == 'pending')}
+ = link_to build_path[:pending] do
+ Pending
+ %span.badge
+ = number_with_delimiter(all_builds.pending.count(:id))
+
+ %li{class: ('active' if scope == 'running')}
+ = link_to build_path[:running] do
+ Running
+ %span.badge
+ = number_with_delimiter(all_builds.running.count(:id))
+
+ %li{class: ('active' if scope == 'finished')}
+ = link_to build_path[:finished] do
+ Finished
+ %span.badge
+ = number_with_delimiter(all_builds.finished.count(:id))