aboutsummaryrefslogtreecommitdiff
path: root/app/views/shared
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2018-06-21 23:09:19 +0100
committerChristopher Baines <mail@cbaines.net>2018-06-21 23:09:19 +0100
commit4c6b3b725275eaa8a87c22c56e0086722e7a7748 (patch)
tree0dc917990bb27d02eac1d00488988ef911ff30b4 /app/views/shared
parent44726781e3c6d6279a5f66a66328633ed4d0ab23 (diff)
downloadgovuk-mini-environment-admin-4c6b3b725275eaa8a87c22c56e0086722e7a7748.tar
govuk-mini-environment-admin-4c6b3b725275eaa8a87c22c56e0086722e7a7748.tar.gz
Redesign the mini environment show page
Start introducing some workflow, and simplifying the layout. Also improve the jobs partial, making it actually show when jobs are running. The next step is to run the build as a mini environment job, which should remove some unnecessary complexity.
Diffstat (limited to 'app/views/shared')
-rw-r--r--app/views/shared/_jobs.html.erb75
1 files changed, 51 insertions, 24 deletions
diff --git a/app/views/shared/_jobs.html.erb b/app/views/shared/_jobs.html.erb
index 73d59ce..5b559c1 100644
--- a/app/views/shared/_jobs.html.erb
+++ b/app/views/shared/_jobs.html.erb
@@ -4,7 +4,10 @@
role="tablist"
aria-multiselectable="true">
+ <% job_states = Que.job_states %>
+
<% jobs.each do |job| %>
+ <% job_state = job_states.find { |x| x[:id] == job.id } %>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="jobHeading<%= job.id %>">
@@ -20,14 +23,24 @@
<span class="caret"></span>
</a>
<span class="pull-right">
- <% if job.instance_of? FinishedTerraformJob %>
- Job finished at <%= job.created_at %>
+ <% if job.finished_at %>
+ Job finished at <%= job.finished_at %>
<% else %>
- <%= job['error_count'] %> failures, retrying next in
- <%= distance_of_time_in_words_to_now(
- job.run_at, include_seconds: true
- ) %>
+ <% if job['error_count'] != 0 %>
+ <%= job['error_count'] %> failures,
+ <% end %>
+ <% if job_state %>
+ running for
+ <% else %>
+ running
+ <% if job['error_count'] != 0 %>again<% end %>
+ in
+ <% end %>
<% end %>
+
+ <%= distance_of_time_in_words_to_now(
+ job.run_at, include_seconds: true
+ ) %>
</span>
</h4>
</div>
@@ -38,24 +51,38 @@
>
<div class="panel-body">
<div class="row">
- <div class="col-md-10">
- <pre><%= job['last_error'] %></pre>
- </div>
- <div class="col-md-2">
- <%= form_with(url: retry_now_que_job_path(job.id)) do %>
- <%= submit_tag(
- 'Retry now',
- class: 'btn btn-primary btn-lg btn-block'
- ) %>
- <% end %>
- <%= form_with(url: cancel_que_job_path(job.id)) do %>
- <%= submit_tag(
- 'Cancel Job',
- class: 'btn btn-warning btn-lg btn-block',
- style: 'margin-top: 5px;'
- ) %>
- <% end %>
- </div>
+ <% if job_state %>
+ <div class="col-md-10">
+ Running now
+ </div>
+ <div class="col-md-2">
+ PID: <%= job_state[:ruby_pid] %>
+ </div>
+ <% elsif job.finished_at %>
+ <div class="col-md-12">
+ Finished after <%= job['error_count'] %> errors.
+ </div>
+ <% else %>
+ <div class="col-md-10">
+ <pre><%= job.last_error_message %></pre>
+ <pre><%= job.last_error_backtrace %></pre>
+ </div>
+ <div class="col-md-2">
+ <%= form_with(url: retry_now_que_job_path(job.id)) do %>
+ <%= submit_tag(
+ 'Retry now',
+ class: 'btn btn-primary btn-lg btn-block'
+ ) %>
+ <% end %>
+ <%= form_with(url: cancel_que_job_path(job.id)) do %>
+ <%= submit_tag(
+ 'Cancel',
+ class: 'btn btn-warning btn-lg btn-block',
+ style: 'margin-top: 5px;'
+ ) %>
+ <% end %>
+ </div>
+ <% end %>
</div>
</div>
</div>