14819: Merge branch 'master' into 14819-arvados-jobs-on-stretch
[arvados.git] / apps / workbench / app / views / application / _job_progress.html.erb
1 <%# Copyright (C) The Arvados Authors. All rights reserved.
2
3 SPDX-License-Identifier: AGPL-3.0 %>
4
5 <% if (j.andand[:state] == "Running" or defined? scaleby) and (not defined? show_progress_bar or show_progress_bar) %>
6   <%
7     failed = j[:tasks_summary][:failed] || 0 rescue 0
8     done = j[:tasks_summary][:done] || 0 rescue 0
9     running = j[:tasks_summary][:running] || 0 rescue 0
10     todo = j[:tasks_summary][:todo] || 0 rescue 0
11
12     if done + running + failed + todo == 0
13       # No tasks were ever created for this job;
14       # render an empty progress bar.
15       done_percent = 0
16     else
17       percent_total_tasks = 100.0 / (done + running + failed + todo)
18       if defined? scaleby
19         percent_total_tasks *= scaleby
20       end
21       done_percent = (done+failed) * percent_total_tasks
22     end
23     %>
24
25   <% if not defined? scaleby %>
26     <div class="progress" style="margin-bottom: 0px">
27   <% end %>
28
29   <span class="progress-bar <%= if failed == 0 then 'progress-bar-success' else 'progress-bar-warning' end %>" style="width: <%= done_percent %>%;">
30   </span>
31
32   <% if not defined? scaleby %>
33   </div>
34   <% end %>
35
36 <% else %>
37
38 <% to_label = {
39      "Cancelled" => "danger",
40      "Complete" => "success",
41      "Running" => "info",
42      "Failed" => "danger",
43      "Queued" => "default",
44      nil => "default"
45    } %>
46
47   <span class="label label-<%= to_label[j.andand[:state]] %>">
48     <%= if defined? title
49           title
50         else
51           if j.andand[:state] then j[:state].downcase else "Not ready" end
52         end
53         %></span>
54
55 <% end %>