[ARVADOS] created: f4705620139af8c1d9032da8c0dacc71fe9085be
git at public.curoverse.com
git at public.curoverse.com
Fri Dec 27 16:26:21 EST 2013
at f4705620139af8c1d9032da8c0dacc71fe9085be (commit)
commit f4705620139af8c1d9032da8c0dacc71fe9085be
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Dec 27 16:26:40 2013 -0500
Dashboard now consists of recent collections, jobs, and pipeline instances.
diff --git a/apps/workbench/app/controllers/users_controller.rb b/apps/workbench/app/controllers/users_controller.rb
index f48d3b2..002ea62 100644
--- a/apps/workbench/app/controllers/users_controller.rb
+++ b/apps/workbench/app/controllers/users_controller.rb
@@ -11,13 +11,24 @@ class UsersController < ApplicationController
def home
@my_ssh_keys = AuthorizedKey.where(authorized_user_uuid: current_user.uuid)
- @my_vm_perms = Link.where(tail_uuid: current_user.uuid, head_kind: 'arvados#virtual_machine', link_class: 'permission', name: 'can_login')
- @my_repo_perms = Link.where(tail_uuid: current_user.uuid, head_kind: 'arvados#repository', link_class: 'permission', name: 'can_write')
+ # @my_vm_perms = Link.where(tail_uuid: current_user.uuid, head_kind: 'arvados#virtual_machine', link_class: 'permission', name: 'can_login')
+ # @my_repo_perms = Link.where(tail_uuid: current_user.uuid, head_kind: 'arvados#repository', link_class: 'permission', name: 'can_write')
@my_jobs = Job.
limit(10).
order('created_at desc').
where(created_by: current_user.uuid)
+ @my_collections = Collection.
+ limit(10).
+ order('created_at desc').
+ where(created_by: current_user.uuid)
+
+ @my_pipelines = PipelineInstance.
+ limit(10).
+ order('created_at desc').
+ where(created_by: current_user.uuid)
+
+
# A Tutorial is a Link which has link_class "resources" and name
# "wants", and is owned by the Tutorials Group (i.e., named
# "Arvados Tutorials" and owned by the system user).
diff --git a/apps/workbench/app/views/users/home.html.erb b/apps/workbench/app/views/users/home.html.erb
index 8cdb795..68897cd 100644
--- a/apps/workbench/app/views/users/home.html.erb
+++ b/apps/workbench/app/views/users/home.html.erb
@@ -8,8 +8,14 @@
margin-left: auto;
margin-right: auto;
}
+ .job-table {
+ white-space: nowrap;
+ table-layout: fixed;
+ }
.job-table td {
+ overflow: hidden;
overflow-x: hidden;
+ text-overflow: ellipsis;
}
.centerme {
margin-left: auto;
@@ -20,6 +26,14 @@
font-size: 4em;
font-weight: bold;
}
+ .dax {
+ max-width: 5%;
+ margin-right: 1em;
+ float: left
+ }
+ .daxalert {
+ overflow: hidden;
+ }
</style>
<% end %>
@@ -27,10 +41,10 @@
<% if @my_ssh_keys.count == 0%>
- <div class="alert alert-info">
+ <div class="alert alert-info daxalert">
<button type="button" class="close" data-dismiss="alert">×</button>
- <div class="span5" style="overflow: hidden; margin-right: 1em">
- <%= image_tag "dax.png", style: "max-width: 10%; margin-right: 1em; float: left" %>
+ <%= image_tag "dax.png", class: "dax" %>
+ <div class="span5" style="margin-right: 1em">
Hi, I noticed that you have not yet set up an SSH public key for use with Arvados.
<%= link_to "Click here to learn about SSH keys in Arvados.",
"http://doc.arvados.org/user/getting_started/ssh-access.html", style: "font-weight: bold" %>
@@ -39,16 +53,17 @@
</div>
<%= form_for AuthorizedKey.new do |f| %>
<%= hidden_field_tag :return_to, request.original_url %>
- <%= f.text_area :public_key, cols: 50, rows: 4, placeholder: "Paste your public key here", style: "width: 45%" %>
+ <%= f.text_area :public_key, cols: 50, rows: 4, placeholder: "Paste your public key here", style: "width: 40%" %>
<%= f.submit :Save, value: raw("✓"), class: "btn btn-primary", style: "vertical-align: top" %>
<% end %>
</div>
<% end %>
<% if Collection.limit(1).where(created_by: current_user.uuid).count == 0 %>
-<div class="alert alert-block alert-info">
+<div class="alert alert-info daxalert">
<button type="button" class="close" data-dismiss="alert">×</button>
- <p><%= image_tag "dax.png", style: "max-width: 5%; margin-right: 1em" %>
+ <%= image_tag "dax.png", class: "dax" %>
+ <p>
Hi, I noticed you haven't uploaded a new collection yet.
<%= link_to "Click here to learn how to upload data to Arvados Keep.", "http://doc.arvados.org/user/tutorials/tutorial-keep.html", style: "font-weight: bold" %>
</p>
@@ -57,9 +72,9 @@
<% end %>
<% if Job.limit(1).where(created_by: current_user.uuid).count == 0 %>
-<div class="alert alert-block alert-info">
+<div class="alert alert-info daxalert">
<button type="button" class="close" data-dismiss="alert">×</button>
- <p><%= image_tag "dax.png", style: "max-width: 5%; margin-right: 1em" %>
+ <p><%= image_tag "dax.png", class: "dax" %>
Hi, I noticed you haven't run a job yet.
<%= link_to "Click here to learn how to run an Arvados Crunch job.", "http://doc.arvados.org/user/tutorials/tutorial-job1.html", style: "font-weight: bold" %>
</p>
@@ -67,9 +82,9 @@
<% end %>
<% if PipelineInstance.limit(1).where(created_by: current_user.uuid).count == 0 %>
-<div class="alert alert-block alert-info">
+<div class="alert alert-info daxalert">
<button type="button" class="close" data-dismiss="alert">×</button>
- <p><%= image_tag "dax.png", style: "max-width: 5%; margin-right: 1em" %>
+ <p><%= image_tag "dax.png", class: "dax" %>
Hi, I noticed you haven't run a pipeline yet.
<%= link_to "Click here to learn how to run an Arvados Crunch pipeline.", "http://doc.arvados.org/user/tutorials/tutorial-new-pipeline.html", style: "font-weight: bold" %>
</p>
@@ -77,84 +92,57 @@
<% end %>
<div class="row-fluid">
- <div class="col span12">
- <div class="clearfix">
- <h4>Account summary</h4>
- <div class="well clearfix">
- <% [Human, Trait, Collection, 'File', PipelineTemplate, PipelineInstance].each do |aclass| %>
- <div class="col span2 centerme">
- <span class="bigfatnumber">
- <% if aclass == 'File' %>
- <%= Collection.limit(4000).where({}).collect(&:files).flatten(1).count %>
- <% else %>
- <%= aclass.limit(4000).where({}).count %>
- <% end %>
- </span>
- <br />
- <%= raw(aclass.to_s.pluralize.underscore.gsub '_', ' ') %>
- </div>
- <% end %>
- </div>
- </div>
- </div>
-</div>
-<div class="row-fluid">
- <div class="col span3">
- <div class="clearfix">
- <h4>Configuration</h4>
- <div class="well dash-list">
- <ul class="nav nav-list">
- <li class="clearfix">
- <a href="<%= authorized_keys_path %>">
- <span class="pull-left"><%= raw '✔' if @my_ssh_keys.any? %> </span>
- SSH keys
- <span class="pull-right"><%= @my_ssh_keys.count %></span>
- </a>
- </li>
- <li class="clearfix">
- <a href="<%= virtual_machines_path %>">
- <span class="pull-left"><%= raw '✔' if @my_vm_perms.any? %> </span>
- Virtual machines
- <span class="pull-right"><%= @my_vm_perms.collect(&:head_uuid).uniq.count %></span>
- </a>
- </li>
- <li class="clearfix">
- <a href="<%= repositories_path %>">
- <span class="pull-left"><%= raw '✔' if @my_repo_perms.any? %> </span>
- Repositories
- <span class="pull-right"><%= @my_repo_perms.collect(&:head_uuid).uniq.count %></span>
- </a>
- </li>
- </ul>
- </div>
- </div>
- </div>
<div class="col span4">
- <%= render partial: 'quick_links' %>
- </div>
- <div class="col span5">
<div class="clearfix">
- <h4>Recent jobs</h4>
- <% if not current_user.andand.is_active or @my_jobs.empty? %>
+ <h4>Recent collections</h4>
+ <% if not current_user.andand.is_active or @my_collections.empty? %>
(None)
<% else %>
<table class="table table-bordered table-condensed job-table">
- <% @my_jobs[0..8].each do |j| %>
+ <colgroup>
+ <col width="70%" />
+ <col width="30%" />
+ </colgroup>
+ <% @my_collections[0..8].each do |c| %>
<tr>
<td>
<small>
- <%= link_to j.script[0..31], job_path(j.uuid) %>
+ <%= link_to c.uuid[0..31], collection_path(c.uuid) %>
</small>
</td>
<td>
<small>
- <%= j.script_version[0..7] %>
+<%= raw(distance_of_time_in_words(c[:created_at], Time.now).sub('about
+','~').sub(' ',' ')) if c[:created_at] %> ago
</small>
</td>
+ </tr>
+ <% end %>
+ </table>
+ <%= link_to raw("Show all collections →"), collections_path, class: 'pull-right' %>
+ <% end %>
+ </div>
+ </div>
+
+ <div class="col span4">
+ <div class="clearfix">
+ <h4>Recent jobs</h4>
+ <% if not current_user.andand.is_active or @my_jobs.empty? %>
+ (None)
+ <% else %>
+ <table class="table table-bordered table-condensed job-table">
+ <colgroup>
+ <col width="40%" />
+ <col width="20%" />
+ <col width="40%" />
+ </colgroup>
+
+ <% @my_jobs[0..8].each do |j| %>
+ <tr>
<td>
<small>
- <%= j.script_parameters.andand[:input].andand.to_s.andand[0..7] %>
+ <%= link_to j.script[0..31], job_path(j.uuid) %>
</small>
</td>
<td>
@@ -172,13 +160,61 @@
<span class="label">queued</span>
<% end %>
</td>
+ <td>
+ <small>
+ <% if j.success %>
+ <%= link_to j.output[0..31], collection_path(j.output) %>
+ <% end %>
+ </small>
+ </td>
</tr>
<% end %>
</table>
- <%= link_to raw("Show more jobs / details →"), jobs_path, class: 'pull-right' %>
+ <%= link_to raw("Show all jobs →"), jobs_path, class: 'pull-right' %>
<% end %>
</div>
</div>
+
+ <div class="col span4">
+ <div class="clearfix">
+ <h4>Recent pipeline instances</h4>
+ <% if not current_user.andand.is_active or @my_pipelines.empty? %>
+ (None)
+ <% else %>
+ <table class="table table-bordered table-condensed job-table">
+ <colgroup>
+ <col width="80%" />
+ <col width="20%" />
+ </colgroup>
+
+ <% @my_pipelines[0..8].each do |p| %>
+ <tr>
+ <td>
+ <small>
+ <% i = PipelineTemplate.limit(1).where(uuid: p.pipeline_template_uuid)[0] %>
+ <%= link_to i.name, pipeline_instance_path(p.uuid) %>
+ </small>
+ </td>
+ <td>
+ <% if p.success %>
+ <span class="label label-success">finished</span>
+ <% elsif p.success == false %>
+ <span class="label label-danger">failed</span>
+ <% elsif p.active %>
+ <span class="label label-info">running</span>
+ <% else %>
+ <span class="label">queued</span>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </table>
+ <%= link_to raw("Show all pipeline instances →"), jobs_path, class: 'pull-right' %>
+ <% end %>
+ </div>
+ </div>
+
+
</div>
<% elsif current_user %>
commit 67e5d42cccb652e4200a6c97164d492225394305
Merge: d6b0525 6d69aef
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Dec 27 14:51:28 2013 -0500
Merge branch 'master' of git.clinicalfuture.com:arvados into 1692-redesign-dashboard
commit d6b05255cc0a7732408360c8b989d306e329346d
Merge: 740dcfd afc4513
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Fri Dec 27 13:36:54 2013 -0500
Merge remote-tracking branch 'origin' into 1692-redesign-dashboard
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list