diff options
author | Christopher Baines <mail@cbaines.net> | 2018-06-21 23:09:19 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2018-06-21 23:09:19 +0100 |
commit | 4c6b3b725275eaa8a87c22c56e0086722e7a7748 (patch) | |
tree | 0dc917990bb27d02eac1d00488988ef911ff30b4 /app/views/shared | |
parent | 44726781e3c6d6279a5f66a66328633ed4d0ab23 (diff) | |
download | govuk-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.erb | 75 |
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> |