X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2b0a7c3f635bc2340956d670c6aeda417dd11cec..df9e166a5ffc4aa79658bec1a5d552a3b413f0d8:/apps/workbench/app/views/projects/_show_dashboard.html.erb diff --git a/apps/workbench/app/views/projects/_show_dashboard.html.erb b/apps/workbench/app/views/projects/_show_dashboard.html.erb index 2841637ded..437f05a499 100644 --- a/apps/workbench/app/views/projects/_show_dashboard.html.erb +++ b/apps/workbench/app/views/projects/_show_dashboard.html.erb @@ -1,98 +1,87 @@
-
+
Active pipelines + <% if current_user.andand.is_active %> - <%= link_to( - choose_pipeline_templates_path( - title: 'Choose a pipeline to run:', - action_name: 'Next: choose inputs ', - action_href: pipeline_instances_path, - action_method: 'post', - action_data: {'selection_param' => 'pipeline_instance[pipeline_template_uuid]', 'pipeline_instance[owner_uuid]' => current_user.uuid, 'success' => 'redirect-to-created-object'}.to_json), - { class: "btn btn-primary btn-xs", remote: true, method: 'get' }) do %> - Run a pipeline... - <% end %> - + <%= link_to( + choose_pipeline_templates_path( + title: 'Choose a pipeline to run:', + action_name: 'Next: choose inputs ', + action_href: pipeline_instances_path, + action_method: 'post', + action_data: {'selection_param' => 'pipeline_instance[pipeline_template_uuid]', 'pipeline_instance[owner_uuid]' => current_user.uuid, 'success' => 'redirect-to-created-object'}.to_json), + { class: "btn btn-primary btn-xs", remote: true }) do %> + Run a pipeline... + <% end %> + + <% end %>
+ <% _running_pipelines = running_pipelines %> + <% _finished_pipelines = finished_pipelines(8) %> + <% lookup = preload_objects_for_dataclass PipelineTemplate, (_running_pipelines.map(&:pipeline_template_uuid) + _finished_pipelines.map(&:pipeline_template_uuid)) %> +
- <% if running_pipelines.empty? %> + <% if _running_pipelines.empty? %> No pipelines are currently running. - <% end %> - <% running_pipelines.each do |p| %> + <% else %> + <% _running_pipelines.each do |p| %>
- <%= link_to_if_arvados_object p, friendly_name: true %> + <%= link_to_if_arvados_object p, {friendly_name: true, lookup: lookup} %>
- <% running = [] %> - <% failed = [] %> - <% completed = [] %> - <% queued = [] %> <% p.components.each do |k, v| %> <% if v.is_a? Hash and v[:job] %> - <% if Job::state(v[:job]) == "Running" %> - <% running << k %> - <% elsif Job::state(v[:job]) == "Failed" or Job::state(v[:job]) == "Cancelled" %> - <% failed << k %> - <% elsif Job::state(v[:job]) == "Complete" %> - <% completed << k %> - <% elsif Job::state(v[:job]) == "Queued" %> - <% queued << k %> - <% end %> + <%= render partial: 'job_progress', locals: {:j => v[:job], :scaleby => (1.0/p.components.size)} %> <% end %> <% end %> - <% completed_pct = (completed.size * 100) / p.components.size %> - <% failed_pct = (failed.size * 100) / p.components.size %> - <% running_pct = (running.size * 100) / p.components.size %> - <% queued_pct = (queued.size * 100) / p.components.size %> - -
- -
-
- -
-
- -
-
- -
+ <% + running = p.components.select { |k, c| c.is_a? Hash and c[:job].andand[:state] == "Running" } + queued = p.components.select { |k, c| c.is_a? Hash and c[:job].andand[:state] == "Queued" } + %> +
Started at <%= render_localized_date(p[:started_at] || p[:created_at], "noseconds") %>. <% pipeline_time = Time.now - (p[:started_at] || p[:created_at]) %> Active for <%= render_runtime(pipeline_time, false) %>.
- <% running.each do |k| %> - <%= k %> + <% running.each do |k,v| %> + <%= render partial: 'job_progress', locals: {:j => v[:job], :show_progress_bar => false, :title => k} %> <% end %> - <% queued.each do |k| %> - <%= k %> + <% queued.each do |k,v| %> + <%= render partial: 'job_progress', locals: {:j => v[:job], :show_progress_bar => false, :title => k} %> <% end %>
<% end %> + <% end %>
-
Recently finished pipelines
+
Recently finished pipelines + + <%= link_to pipeline_instances_path, class: 'btn btn-default btn-xs' do %> + All pipelines + <% end %> + +
- <% finished_pipelines(8).each do |p| %> + <% _finished_pipelines.each do |p| %>
- <%= link_to_if_arvados_object p, friendly_name: true %> + <%= link_to_if_arvados_object p, {friendly_name: true, lookup: lookup} %>
<%= render partial: "pipeline_status_label", locals: {p: p}%> @@ -134,7 +123,7 @@ <% end %>
-
+
<% end %>
@@ -143,8 +132,14 @@
<% nodes = Node.all %> -
-
Compute status
+
+
Compute and job status + + <%= link_to jobs_path, class: 'btn btn-default btn-xs' do %> + All jobs + <% end %> + +
<%= render partial: 'compute_node_summary', locals: {nodes: nodes} %> @@ -158,7 +153,13 @@
-
Recent collections
+
Recent collections + + <%= link_to collections_path, class: 'btn btn-default btn-xs' do %> + All collections + <% end %> + +
<% r = recent_collections(8) %> <% r[:collections].each do |p| %> @@ -167,7 +168,7 @@ <%= link_to_if_arvados_object r[:owners][p[:owner_uuid]], friendly_name: true %>/ <%= render_localized_date(p[:modified_at], "noseconds") %>
-
<%= link_to_if_arvados_object p, friendly_name: true %> +
<%= link_to_if_arvados_object p, {friendly_name: true, no_tags: true} %>
<% end %>