-<%
- failed = j[:tasks_summary][:failed] || 0 rescue 0
- done = j[:tasks_summary][:done] || 0 rescue 0
- running = j[:tasks_summary][:running] || 0 rescue 0
- todo = j[:tasks_summary][:todo] || 0 rescue 0
-
- if j[:success] == false and done + running + failed == 0
- # The job failed but no tasks were ever started (i.e. crunch-dispatch
- # was unable to start the job). Display a full 100% failed progress bar.
- failed_percent = 100
- success_percent = 0
- running_percent = 0
- elsif done + running + failed + todo == 0
- # No tasks were ever created for this job;
- # render an empty progress bar.
- failed_percent = 0
- success_percent = 0
- running_percent = 0
- else
- percent_total_tasks = 100.0 / (done + running + failed + todo)
- if defined? scaleby
- percent_total_tasks *= scaleby
- end
- failed_percent = (failed * percent_total_tasks).ceil
- success_percent = (done * percent_total_tasks).ceil
- running_percent = (running * percent_total_tasks).ceil
- end
-%>
-
-<% if not defined? scaleby %>
- <div class="progress">
-<% end %>
+<% if (j.andand[:state] == "Running" or defined? scaleby) and (not defined? show_progress_bar or show_progress_bar) %>
+ <%
+ failed = j[:tasks_summary][:failed] || 0 rescue 0
+ done = j[:tasks_summary][:done] || 0 rescue 0
+ running = j[:tasks_summary][:running] || 0 rescue 0
+ todo = j[:tasks_summary][:todo] || 0 rescue 0
+
+ if done + running + failed + todo == 0
+ # No tasks were ever created for this job;
+ # render an empty progress bar.
+ done_percent = 0
+ else
+ percent_total_tasks = 100.0 / (done + running + failed + todo)
+ if defined? scaleby
+ percent_total_tasks *= scaleby
+ end
+ done_percent = (done+failed) * percent_total_tasks
+ end
+ %>
+
+ <% if not defined? scaleby %>
+ <div class="progress" style="margin-bottom: 0px">
+ <% end %>
+
+ <span class="progress-bar <%= if failed == 0 then 'progress-bar-success' else 'progress-bar-warning' end %>" style="width: <%= done_percent %>%;">
+ </span>
+
+ <% if not defined? scaleby %>
+ </div>
+ <% end %>
+
+<% else %>
+
+<% to_label = {
+ "Cancelled" => "danger",
+ "Complete" => "success",
+ "Running" => "info",
+ "Failed" => "danger",
+ "Queued" => "default",
+ nil => "default"
+ } %>
-<span class="progress-bar progress-bar-success" style="width: <%= success_percent %>%;">
-</span>
-<span class="progress-bar progress-bar-danger" style="width: <%= failed_percent %>%;">
-</span>
-<span class="progress-bar" style="width: <%= running_percent %>%;">
-</span>
+ <span class="label label-<%= to_label[j.andand[:state]] %>">
+ <%= if defined? title
+ title
+ else
+ if j.andand[:state] then j[:state].downcase else "Not ready" end
+ end
+ %></span>
-<% if not defined? scaleby %>
-</div>
<% end %>