Create shared partial for project and admin builds
This commit is contained in:
parent
27c3a87194
commit
80c86bcc5b
|
@ -1,80 +0,0 @@
|
|||
- project = build.project
|
||||
%tr.build.commit
|
||||
%td.status
|
||||
= ci_status_with_icon(build.status)
|
||||
|
||||
%td
|
||||
.branch-commit
|
||||
- if can?(current_user, :read_build, build.project)
|
||||
= 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 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")
|
||||
|
||||
= link_to build.short_sha, namespace_project_commit_path(build.project.namespace, build.project, build.sha), class: "monospace commit-id"
|
||||
- if build.stuck?
|
||||
%i.fa.fa-warning.text-warning
|
||||
|
||||
.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
|
||||
|
||||
%td
|
||||
- if project
|
||||
= link_to project.name_with_namespace, admin_namespace_project_path(project.namespace, project)
|
||||
|
||||
%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, project) && build.artifacts?
|
||||
= link_to download_namespace_project_build_artifacts_path(build.project.namespace, build.project, build), title: 'Download artifacts', class: 'btn btn-build' do
|
||||
%i.fa.fa-download
|
||||
- if can?(current_user, :update_build, build.project)
|
||||
- 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
|
||||
%i.fa.fa-remove.cred
|
||||
- elsif defined?(allow_retry) && allow_retry && 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
|
||||
%i.fa.fa-refresh
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
.top-area
|
||||
- build_path = ->(scope) { admin_builds_path(scope: scope) }
|
||||
= render "shared/builds_tabs", build_path: build_path, all_builds: @all_builds, scope: @scope
|
||||
= render "shared/builds/tabs", build_path: build_path, all_builds: @all_builds, scope: @scope
|
||||
|
||||
.nav-controls
|
||||
- if @all_builds.running_or_pending.any?
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
- admin = false unless admin
|
||||
- if builds.blank?
|
||||
%li
|
||||
.nothing-here-block No builds to show
|
||||
|
@ -20,9 +21,8 @@
|
|||
%th
|
||||
|
||||
- if admin
|
||||
- builds.each do |build|
|
||||
= render "admin/builds/build", build: build
|
||||
= render partial: "shared/builds/build", collection: builds, as: :build, locals: { commit_sha: true, ref: true, stage: true, allow_retry: true, runner: true, admin: true }
|
||||
- else
|
||||
= render builds, commit_sha: true, ref: true, stage: true, allow_retry: true, coverage: project.build_coverage_enabled?
|
||||
= render partial: "shared/builds/build", collection: builds, as: :build, locals: {commit_sha: true, ref: true, stage: true, allow_retry: true, coverage: project.build_coverage_enabled? }
|
||||
|
||||
= paginate builds, theme: 'gitlab'
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
%div{ class: container_class }
|
||||
.top-area
|
||||
- build_path = ->(scope) { project_builds_path(@project, scope: scope) }
|
||||
= render "shared/builds_tabs", build_path: build_path, all_builds: @all_builds, scope: @scope
|
||||
= render "shared/builds/tabs", build_path: build_path, all_builds: @all_builds, scope: @scope
|
||||
|
||||
.nav-controls
|
||||
- if can?(current_user, :update_build, @project)
|
||||
|
@ -20,4 +20,4 @@
|
|||
%span CI Lint
|
||||
|
||||
%ul.content-list.builds-content-list
|
||||
= render "table", builds: @builds, project: @project, admin: false
|
||||
= render "table", builds: @builds, project: @project
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
- admin = false unless admin
|
||||
- if admin
|
||||
- project = build.project
|
||||
|
||||
%tr.build.commit
|
||||
%td.status
|
||||
- if can?(current_user, :read_build, build)
|
||||
|
@ -9,9 +13,9 @@
|
|||
.branch-commit
|
||||
- if can?(current_user, :read_build, build)
|
||||
= link_to namespace_project_build_url(build.project.namespace, build.project, build) do
|
||||
%span ##{build.id}
|
||||
%span.build-link ##{build.id}
|
||||
- else
|
||||
%span ##{build.id}
|
||||
%span.build-link ##{build.id}
|
||||
|
||||
- if defined?(ref) && ref
|
||||
- if build.ref
|
||||
|
@ -45,6 +49,11 @@
|
|||
- 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)
|
||||
|
@ -53,8 +62,7 @@
|
|||
.light none
|
||||
|
||||
%td
|
||||
- if defined?(stage) && stage
|
||||
= build.stage
|
||||
= build.stage
|
||||
|
||||
%td
|
||||
= build.name
|
||||
|
@ -64,13 +72,14 @@
|
|||
%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)}
|
||||
|
||||
- if defined?(coverage) && coverage
|
||||
%td.coverage
|
||||
%td.coverage
|
||||
- if defined?(coverage) && coverage
|
||||
- if build.try(:coverage)
|
||||
#{build.coverage}%
|
||||
|
||||
|
@ -87,6 +96,6 @@
|
|||
- 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?
|
||||
- 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')
|
|
@ -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))
|
Loading…
Reference in New Issue