<%# column offset 0 %>
<%# column offset 2 %>
<%= pj[:progress_bar] %>
<%# column offset 4 %>
<% if not current_job %>
<% else %>
<% if (pipeline_display rescue nil) %>
<% if current_job[:state].in? ["Complete", "Failed", "Cancelled"] %>
<% if current_job[:log] %>
<% logCollection = Collection.find? current_job[:log] %>
<% if logCollection %>
<%= link_to "Log", job_path(current_job[:uuid], anchor: "Log") %>
<% else %>
Log unavailable
<% end %>
<% end %>
<% elsif current_job[:state] == "Running" %>
<% job = Job.find? current_job[:uuid] %>
<% if job %>
<%= link_to "Log", job_path(current_job[:uuid], anchor: "Log") %>
<% else %>
Log unavailable
<% end %>
<% end %>
<% end %>
<%# column offset 5 %>
<% if current_job[:state] != "Queued" %>
<% if current_job[:started_at] %>
<% walltime = ((if current_job[:finished_at] then current_job[:finished_at] else Time.now() end) - current_job[:started_at]) %>
<% cputime = (current_job[:runtime_constraints].andand[:min_nodes] || 1).to_i *
((current_job[:finished_at] || Time.now()) - current_job[:started_at]) %>
<%= render_runtime(walltime, false) %>
<% if cputime > 0 %> / <%= render_runtime(cputime, false) %> (<%= (cputime/walltime).round(1) %>⨯)<% end %>
<% end %>
<% end %>
<% if current_job[:state] == "Queued" %>
<%# column offset 5 %>
<% queuetime = Time.now - Time.parse(current_job[:created_at].to_s) %>
Queued for <%= render_runtime(queuetime, false) %>.
<% elsif current_job[:state] == "Running" %>
<%# column offset 8 %>
<%= current_job[:tasks_summary][:done] %> <%= "task".pluralize(current_job[:tasks_summary][:done]) %> done,
<%= current_job[:tasks_summary][:failed] %> failed,
<%= current_job[:tasks_summary][:running] %> running,
<%= current_job[:tasks_summary][:todo] %> pending
<% elsif current_job[:state].in? ["Complete", "Failed", "Cancelled"] %>
<%# column offset 8 %>
<% if pj[:output_uuid] %>
<%= link_to_arvados_object_if_readable(pj[:output_uuid], 'Output data not available', friendly_name: true) %>
<% elsif current_job[:output] %>
<%= link_to_arvados_object_if_readable(current_job[:output], 'Output data not available', link_text: "Output of #{pj[:name]}") %>
<% else %>
No output.
<% end %>
<% end %>
<% if current_job[:state].in? ["Queued", "Running"] and @object.editable? %>
<%# column offset 11 %>
<%= form_tag "/jobs/#{current_job[:uuid]}/cancel", remote: true, style: "display:inline; padding-left: 1em" do |f| %>
<%= hidden_field_tag :return_to, url_for(@object) %>
<%= button_tag "Cancel", {class: 'btn btn-xs btn-danger', id: "cancel-job-button"} %>
<% end %>
<% end %>
<% end %>