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;
font-size: 4em;
font-weight: bold;
}
+ .dax {
+ max-width: 10%;
+ margin-right: 1em;
+ float: left
+ }
+ .daxalert {
+ overflow: hidden;
+ }
</style>
<% end %>
<% if current_user.andand.is_active %>
+<div class="container-fluid">
+
+ <div class="span7">
-<% if @my_ssh_keys.count == 0%>
- <div class="alert alert-info">
- <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" %>
- 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" %>
- Once have an SSH key you would like to use, paste your SSH public key
- in the text box.
- </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.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">
- <button type="button" class="close" data-dismiss="alert">×</button>
- <p><%= image_tag "dax.png", style: "max-width: 5%; margin-right: 1em" %>
- 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>
-</div>
-
-<% end %>
-
-<% if Job.limit(1).where(created_by: current_user.uuid).count == 0 %>
-<div class="alert alert-block alert-info">
- <button type="button" class="close" data-dismiss="alert">×</button>
- <p><%= image_tag "dax.png", style: "max-width: 5%; margin-right: 1em" %>
- 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>
-</div>
-<% end %>
-
-<% if PipelineInstance.limit(1).where(created_by: current_user.uuid).count == 0 %>
-<div class="alert alert-block alert-info">
- <button type="button" class="close" data-dismiss="alert">×</button>
- <p><%= image_tag "dax.png", style: "max-width: 5%; margin-right: 1em" %>
- 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>
-</div>
-<% 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>
+ <div>
+ <strong>Recent jobs</strong>
+ <%= link_to raw("Show all jobs →"), jobs_path, class: 'pull-right' %>
<% if not current_user.andand.is_active or @my_jobs.empty? %>
(None)
<% else %>
<table class="table table-bordered table-condensed job-table">
- <% @my_jobs[0..8].each do |j| %>
+ <colgroup>
+ <col width="28%" />
+ <col width="38%" />
+ <col width="7%" />
+ <col width="15%" />
+ <col width="12%" />
+ </colgroup>
+
+ <tr>
+ <th>Script</th>
+ <th>Output</th>
+ <th>Log</th>
+ <th>Status</th>
+ <th>Age</th>
+ </tr>
+
+ <% @my_jobs[0..6].each do |j| %>
<tr>
<td>
<small>
<%= link_to j.script[0..31], job_path(j.uuid) %>
</small>
</td>
+
+ <td>
+ <small>
+ <% if j.success %>
+
+ <a href="<%= collection_path(j.output) %>">
+ <% Collection.limit(1).where(uuid: j.output).each do |c|
+ c.files.each do |file| %>
+ <%= "#{file[0]}/#{file[1]}" %>
+ <% end %>
+ <% end %>
+ </a>
+
+ <% end %>
+ </small>
+ </td>
+
+ <td>
+ <small>
+ <% if j.success %>
+ <a href="<%= collection_path(j.log) %>">Log</a>
+ <% end %>
+ </small>
+ </td>
+
<td>
<small>
- <%= j.script_version[0..7] %>
- </small>
- </td>
- <td>
- <small>
- <%= j.script_parameters.andand[:input].andand.to_s.andand[0..7] %>
+<%= raw(distance_of_time_in_words(j[:created_at], Time.now).sub('about
+','~').sub(' ',' ')) if j[:created_at] %> ago
</small>
</td>
+
<td>
<% if j.success %>
<span class="label label-success">finished</span>
<span class="label">queued</span>
<% end %>
</td>
+
+ </tr>
+ <% end %>
+ </table>
+ <% end %>
+ </div>
+
+ <div>
+ <strong>Recent pipeline instances</strong>
+ <%= link_to raw("Show all pipeline instances →"), jobs_path, class: 'pull-right' %>
+ <% 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="73%" />
+ <col width="15%" />
+ <col width="12%" />
+ </colgroup>
+
+ <tr>
+ <th>Pipeline template</th>
+ <th>Age</th>
+ <th>Status</th>
+ </tr>
+
+ <% @my_pipelines[0..6].each do |p| %>
+ <tr>
+ <td>
+ <small>
+ <% PipelineTemplate.limit(1).where(uuid: p.pipeline_template_uuid).each do |i| %>
+ <%= link_to i.name, pipeline_instance_path(p.uuid) %>
+ <% end %>
+ </small>
+ </td>
+
+ <td>
+ <small>
+<%= raw(distance_of_time_in_words(p[:created_at], Time.now).sub('about
+','~').sub(' ',' ')) if p[:created_at] %> ago
+ </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>
+ <% end %>
+ </div>
+
+ <div>
+ <strong>Recent collections</strong>
+ <%= link_to raw("Show all collections →"), collections_path, class: 'pull-right' %>
+ <% if not current_user.andand.is_active or @my_collections.empty? %>
+ (None)
+ <% else %>
+ <table class="table table-bordered table-condensed job-table">
+ <colgroup>
+ <col width="73%" />
+ <col width="27%" />
+ </colgroup>
+
+ <tr>
+ <th>Contents</th>
+ <th>Age</th>
+ </tr>
+
+ <% @my_collections[0..6].each do |c| %>
+ <tr>
+ <td>
+ <small>
+ <a href="<%= collection_path(c.uuid) %>">
+ <% c.files.each do |file| %>
+ <%= "#{file[0]}/#{file[1]}" %>
+ <% end %>
+ </a>
+ </small>
+ </td>
+ <td>
+ <small>
+<%= 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 more jobs / details →"), jobs_path, class: 'pull-right' %>
<% end %>
</div>
</div>
+
+<div class="span4">
+<% if @my_ssh_keys.count == 0%>
+ <div class="alert alert-info daxalert">
+ <button type="button" class="close" data-dismiss="alert">×</button>
+ <%= image_tag "dax.png", class: "dax" %>
+ <div>
+ 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",
+ target: "_blank" %>
+ When you have an SSH key you would like to use, paste the SSH public key
+ in the text box.
+ </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: 100%" %>
+ <%= f.submit :Save, value: raw("✓"), class: "btn btn-primary pull-right" %>
+ <% end %>
+ </div>
+<% end %>
+
+<% if @my_collections.count == 0 %>
+<div class="alert alert-info daxalert">
+ <button type="button" class="close" data-dismiss="alert">×</button>
+ <%= 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", target: "_blank" %>
+ </p>
+</div>
+
+<% end %>
+
+<% if @my_jobs.count == 0 %>
+<div class="alert alert-info daxalert">
+ <button type="button" class="close" data-dismiss="alert">×</button>
+ <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",
+ target: "_blank" %>
+ </p>
+</div>
+<% end %>
+
+<% if @my_pipelines.count == 0 %>
+<div class="alert alert-info daxalert">
+ <button type="button" class="close" data-dismiss="alert">×</button>
+ <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",
+ target: "_blank" %>
+ </p>
+</div>
+<% end %>
+
+<div class="well">
+ <p><strong>Useful links</strong></p>
+ <p><ul>
+ <li><%= link_to "Arvados project page", "http://arvados.org", target: "_blank" %></li>
+ <li><%= link_to "Tutorials and user guide",
+ "http://doc.arvados.org/user/", target: "_blank" %></li>
+ </ul>
+ </p>
+</div>
+
+</div>
</div>
<% elsif current_user %>