[ARVADOS] updated: 928565a23bf5ff54fb524b6c38f8e2b0f4b27725
git at public.curoverse.com
git at public.curoverse.com
Thu Feb 6 15:03:24 EST 2014
Summary of changes:
.../api_client_authorizations_controller.rb | 5 +
.../app/controllers/application_controller.rb | 6 +-
.../app/controllers/collections_controller.rb | 6 +-
apps/workbench/app/controllers/jobs_controller.rb | 10 ++-
.../controllers/pipeline_instances_controller.rb | 8 +-
apps/workbench/app/helpers/provenance_helper.rb | 4 +-
.../views/api_client_authorizations/_help.html.erb | 14 --
.../views/application/_arvados_attr_value.html.erb | 2 +-
.../app/views/application/_recent.html.erb | 61 ---------
.../app/views/application/_show_links.html.erb | 40 ------
.../workbench/app/views/application/index.html.erb | 26 +---
apps/workbench/app/views/application/show.html.erb | 49 +++----
.../app/views/authorized_keys/_help.html.erb | 10 --
.../app/views/authorized_keys/index.html.erb | 1 -
.../app/views/collections/_index_tbody.html.erb | 24 +++-
.../app/views/collections/_recent.html.erb | 43 ------
apps/workbench/app/views/groups/index.html.erb | 42 ------
apps/workbench/app/views/jobs/_recent.html.erb | 141 --------------------
.../app/views/layouts/application.html.erb | 17 +++-
.../app/views/pipeline_instances/_recent.html.erb | 85 ------------
.../app/views/pipeline_instances/compare.html.erb | 88 +------------
.../app/views/pipeline_templates/_recent.html.erb | 34 -----
.../app/views/pipeline_templates/show.html.erb | 42 ------
.../app/views/repositories/_help.html.erb | 27 ----
.../app/views/virtual_machines/_help.html.erb | 26 ----
25 files changed, 91 insertions(+), 720 deletions(-)
delete mode 100644 apps/workbench/app/views/api_client_authorizations/_help.html.erb
delete mode 100644 apps/workbench/app/views/application/_recent.html.erb
delete mode 100644 apps/workbench/app/views/application/_show_links.html.erb
delete mode 100644 apps/workbench/app/views/authorized_keys/_help.html.erb
delete mode 100644 apps/workbench/app/views/authorized_keys/index.html.erb
delete mode 100644 apps/workbench/app/views/collections/_recent.html.erb
delete mode 100644 apps/workbench/app/views/groups/index.html.erb
delete mode 100644 apps/workbench/app/views/jobs/_recent.html.erb
delete mode 100644 apps/workbench/app/views/pipeline_instances/_recent.html.erb
delete mode 100644 apps/workbench/app/views/pipeline_templates/_recent.html.erb
delete mode 100644 apps/workbench/app/views/pipeline_templates/show.html.erb
delete mode 100644 apps/workbench/app/views/repositories/_help.html.erb
delete mode 100644 apps/workbench/app/views/virtual_machines/_help.html.erb
via 928565a23bf5ff54fb524b6c38f8e2b0f4b27725 (commit)
from dcd5dad4a40baef826270f43ae80d7b39a3b9113 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 928565a23bf5ff54fb524b6c38f8e2b0f4b27725
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Thu Feb 6 15:04:19 2014 -0500
Harmonized all sections to use the new content template and layout
diff --git a/apps/workbench/app/controllers/api_client_authorizations_controller.rb b/apps/workbench/app/controllers/api_client_authorizations_controller.rb
index 1c55b11..03f0a04 100644
--- a/apps/workbench/app/controllers/api_client_authorizations_controller.rb
+++ b/apps/workbench/app/controllers/api_client_authorizations_controller.rb
@@ -5,4 +5,9 @@ class ApiClientAuthorizationsController < ApplicationController
end
super
end
+
+ def index_pane_list
+ %w(recent help)
+ end
+
end
diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index 4c2d6dd..02103c0 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -142,8 +142,12 @@ class ApplicationController < ActionController::Base
(@object.friendly_link_name if @object.respond_to? :friendly_link_name))
end
+ def index_pane_list
+ %w(recent)
+ end
+
def show_pane_list
- %w(attributes links json api)
+ %w(attributes metadata json api)
end
protected
diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb
index c38ca9a..d393da0 100644
--- a/apps/workbench/app/controllers/collections_controller.rb
+++ b/apps/workbench/app/controllers/collections_controller.rb
@@ -3,7 +3,7 @@ class CollectionsController < ApplicationController
skip_before_filter :check_user_agreements, :only => [:show_file]
def show_pane_list
- %w(files attributes provenance_graph used_by)
+ %w(files attributes metadata provenance_graph used_by json api)
end
def index
if params[:search].andand.length.andand > 0
@@ -102,8 +102,8 @@ class CollectionsController < ApplicationController
end
Collection.where(uuid: @object.uuid).each do |u|
- @prov_svg = ProvenanceHelper::create_provenance_graph u.provenance, "provenance_svg", {:direction => :bottom_up, :combine_jobs => :script_only}
- @used_by_svg = ProvenanceHelper::create_provenance_graph u.used_by, "used_by_svg", {:direction => :top_down, :combine_jobs => :script_only, :pdata_only => true}
+ @prov_svg = ProvenanceHelper::create_provenance_graph u.provenance, "provenance_svg", {:direction => :bottom_up, :combine_jobs => :script_only} rescue nil
+ @used_by_svg = ProvenanceHelper::create_provenance_graph u.used_by, "used_by_svg", {:direction => :top_down, :combine_jobs => :script_only, :pdata_only => true} rescue nil
end
end
diff --git a/apps/workbench/app/controllers/jobs_controller.rb b/apps/workbench/app/controllers/jobs_controller.rb
index 9b52977..be9fe03 100644
--- a/apps/workbench/app/controllers/jobs_controller.rb
+++ b/apps/workbench/app/controllers/jobs_controller.rb
@@ -31,7 +31,15 @@ class JobsController < ApplicationController
generate_provenance([@object])
end
+ def index_pane_list
+ if params[:uuid]
+ %w(recent provenance)
+ else
+ %w(recent)
+ end
+ end
+
def show_pane_list
- %w(attributes provenance links json api)
+ %w(attributes provenance metadata json api)
end
end
diff --git a/apps/workbench/app/controllers/pipeline_instances_controller.rb b/apps/workbench/app/controllers/pipeline_instances_controller.rb
index b7339c0..60a380d 100644
--- a/apps/workbench/app/controllers/pipeline_instances_controller.rb
+++ b/apps/workbench/app/controllers/pipeline_instances_controller.rb
@@ -121,6 +121,8 @@ class PipelineInstancesController < ApplicationController
provenance, pips = graph(@objects)
+ @pipelines = @objects
+
@prov_svg = ProvenanceHelper::create_provenance_graph provenance, "provenance_svg", {
:all_script_parameters => true,
:combine_jobs => :script_and_version,
@@ -129,9 +131,13 @@ class PipelineInstancesController < ApplicationController
end
def show_pane_list
- %w(components graph attributes links json api)
+ %w(components graph attributes metadata json api)
end
+ def compare_pane_list
+ %w(text_compare graph)
+ end
+
protected
def for_comparison v
if v.is_a? Hash or v.is_a? Array
diff --git a/apps/workbench/app/helpers/provenance_helper.rb b/apps/workbench/app/helpers/provenance_helper.rb
index ef165e8..cb2d924 100644
--- a/apps/workbench/app/helpers/provenance_helper.rb
+++ b/apps/workbench/app/helpers/provenance_helper.rb
@@ -46,10 +46,10 @@ module ProvenanceHelper
#"\"#{uuid}\" [label=\"#{rsc}\\n#{uuid}\",href=\"#{href}\"];\n"
if rsc == Collection
- puts uuid
+ #puts uuid
if uuid == :"d41d8cd98f00b204e9800998ecf8427e+0"
# special case
- puts "empty!"
+ #puts "empty!"
return "\"#{uuid}\" [label=\"(empty collection)\"];\n"
end
if @pdata[uuid]
diff --git a/apps/workbench/app/views/api_client_authorizations/_help.html.erb b/apps/workbench/app/views/api_client_authorizations/_help.html.erb
deleted file mode 100644
index 1481721..0000000
--- a/apps/workbench/app/views/api_client_authorizations/_help.html.erb
+++ /dev/null
@@ -1,14 +0,0 @@
-<pre>
-### Pasting the following lines at a shell prompt will allow Arvados SDKs
-### to authenticate to your account, <%= current_user.email %>
-
-read ARVADOS_API_TOKEN <<EOF
-<%= Thread.current[:arvados_api_token] %>
-EOF
-export ARVADOS_API_TOKEN ARVADOS_API_HOST=<%= current_api_host %>
-<% if Rails.configuration.arvados_insecure_https %>
-export ARVADOS_API_HOST_INSECURE=true
-<% else %>
-unset ARVADOS_API_HOST_INSECURE
-<% end %>
-</pre>
diff --git a/apps/workbench/app/views/application/_arvados_attr_value.html.erb b/apps/workbench/app/views/application/_arvados_attr_value.html.erb
index cb60714..80dfa33 100644
--- a/apps/workbench/app/views/application/_arvados_attr_value.html.erb
+++ b/apps/workbench/app/views/application/_arvados_attr_value.html.erb
@@ -16,7 +16,7 @@
<% end %>
<!--
<% if resource_class_for_uuid(attrvalue, {referring_object: obj, referring_attr: attr}) %>
- <%= link_to_if_arvados_object(attrvalue, { referring_object: obj, link_text: raw('<span class="icon-hand-right"></span>'), referring_attr: attr }) %>
+ <%= link_to_if_arvados_object(attrvalue, { referring_object: obj, link_text: raw('<span class="glyphicon glyphicon-hand-right"></span>'), referring_attr: attr }) %>
<% end %>
-->
<% end %>
diff --git a/apps/workbench/app/views/application/_recent.html.erb b/apps/workbench/app/views/application/_recent.html.erb
deleted file mode 100644
index 86b6b04..0000000
--- a/apps/workbench/app/views/application/_recent.html.erb
+++ /dev/null
@@ -1,61 +0,0 @@
-<% if @objects.empty? %>
-<br/>
-<p style="text-align: center">
- No <%= controller.model_class.to_s.pluralize.underscore.gsub '_', ' ' %> to display.
-</p>
-
-<% else %>
-
-<% attr_blacklist = ' created_at modified_at modified_by_user_uuid modified_by_client_uuid updated_at' %>
-
-<table class="table arv-index">
- <thead>
- <tr>
- <% @objects.first.attributes_for_display.each do |attr, attrvalue| %>
- <% next if attr_blacklist.index(" "+attr) %>
- <th class="arv-attr-<%= attr %>">
- <%= controller.model_class.attribute_info[attr.to_sym].andand[:column_heading] or attr.sub /_uuid/, '' %>
- </th>
- <% end %>
- <th>
- <!-- a column for delete buttons -->
- </th>
- </tr>
- </thead>
-
- <tbody>
- <% @objects.each do |object| %>
- <tr data-object-uuid="<%= object.uuid %>">
- <% object.attributes_for_display.each do |attr, attrvalue| %>
- <% next if attr_blacklist.index(" "+attr) %>
- <td class="arv-object-<%= object.class.to_s %> arv-attr-<%= attr %>">
- <% if attr == 'uuid' %>
- <%= link_to_if_arvados_object object %>
- <%= link_to_if_arvados_object(object, { link_text: raw('<i class="icon-hand-right"></i>') }) %>
- <% else %>
- <% if object.attribute_editable? attr %>
- <%= render_editable_attribute object, attr %>
- <% else %>
- <%= resource_class_for_uuid(attrvalue, referring_attr: attr, referring_object: @object).to_s %>
- <%= attrvalue %>
- <% end %>
- <%= link_to_if_arvados_object(attrvalue, { referring_object: @object, link_text: raw('<i class="icon-hand-right"></i>') }) if resource_class_for_uuid(attrvalue, {referring_object: @object}) %>
- <% end %>
- </td>
- <% end %>
- <td>
- <% if object.editable? %>
- <%= link_to({action: 'destroy', id: object.uuid}, method: :delete, remote: true, data: {confirm: "You are about to delete #{controller.model_class} #{object.uuid}.\n\nAre you sure?"}) do %>
- <i class="glyphicon glyphicon-trash"></i>
- <% end %>
- <% end %>
- </td>
- </tr>
- <% end %>
- </tbody>
-
- <tfoot>
- </tfoot>
-</table>
-
-<% end %>
diff --git a/apps/workbench/app/views/application/_show_links.html.erb b/apps/workbench/app/views/application/_show_links.html.erb
deleted file mode 100644
index 8dcf335..0000000
--- a/apps/workbench/app/views/application/_show_links.html.erb
+++ /dev/null
@@ -1,40 +0,0 @@
-<% incoming = Link.where(tail_uuid: @object.uuid) %>
-<% if incoming.items_available > 0 %>
-<h3>Incoming Links</h3>
-<table class="table topalign">
- <thead>
- </thead>
- <tbody>
- <% incoming.each do |link| %>
- <tr>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "uuid", attrvalue: link.uuid } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "link_class", attrvalue: link.link_class } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "name", attrvalue: link.name } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "head_uuid", attrvalue: link.head_uuid } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "properties", attrvalue: link.properties } %></td>
- </tr>
- <% end %>
- </tbody>
-</table>
-<% end %>
-
-<% outgoing = Link.where(head_uuid: @object.uuid) %>
-<% if outgoing.items_available > 0 %>
-<h3>Outgoing Links</h3>
-<table class="table topalign">
- <thead>
- </thead>
- <tbody>
- <% outgoing.each do |link| %>
- <tr>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "uuid", attrvalue: link.uuid } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "link_class", attrvalue: link.link_class } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "name", attrvalue: link.name } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "tail_uuid", attrvalue: link.tail_uuid } %></td>
- <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "properties", attrvalue: link.properties } %></td>
- </tr>
- <% end %>
- </tbody>
-</table>
-<% end %>
-
diff --git a/apps/workbench/app/views/application/index.html.erb b/apps/workbench/app/views/application/index.html.erb
index 26adf59..67b5004 100644
--- a/apps/workbench/app/views/application/index.html.erb
+++ b/apps/workbench/app/views/application/index.html.erb
@@ -1,31 +1,15 @@
<% content_for :page_title do %>
-<%= controller.model_class.to_s.pluralize.underscore.capitalize.gsub '_', ' ' %>
+<%= controller.model_class.to_s.pluralize.underscore.capitalize.gsub('_', ' ') %>
<% end %>
+<% content_for :tab_line_buttons do %>
+
<% if controller.model_class.creatable? %>
<%= button_to "Add a new #{controller.model_class.to_s.underscore.gsub '_', ' '}",
{ action: 'create', return_to: request.url },
{ class: 'btn btn-primary pull-right' } %>
<% end %>
-<%= form_tag({action: 'compare', controller: params[:controller], method: 'get'}, {method: 'get', id: 'compare', class: 'pull-right small-form-margin'}) do |f| %>
-<%= submit_tag 'Compare selected', {class: 'btn btn-primary', disabled: true, style: 'display: none'} %>
-
-<% end rescue nil %>
-
-<% pane_list = controller.index_pane_list rescue %w(recent) %>
-
-<ul class="nav nav-tabs">
- <% pane_list.each_with_index do |pane, i| %>
- <li class="<%= 'active' if i==0 %>"><a href="#<%= pane %>" data-toggle="tab" id="<%= pane %>-tab"> <%= pane.capitalize %></a></li>
- <% end %>
-</ul>
-<div class="tab-content">
-<% pane_list.each_with_index do |pane, i| %>
- <div id="<%= pane %>" class="tab-pane fade <%= 'in active' if i==0 %>">
- <div class="smart-scroll">
- <%= render partial: pane %>
- </div>
- </div>
<% end %>
-</div>
+
+<%= render partial: 'content', layout: 'content_layout', locals: {pane_list: controller.index_pane_list }%>
diff --git a/apps/workbench/app/views/application/show.html.erb b/apps/workbench/app/views/application/show.html.erb
index 03a8f9b..9da8ea1 100644
--- a/apps/workbench/app/views/application/show.html.erb
+++ b/apps/workbench/app/views/application/show.html.erb
@@ -1,40 +1,29 @@
<% content_for :page_title do %>
-<%= (@object.respond_to?(:properties) ? @object.properties[:page_title] : nil) ||
- @object.friendly_link_name %>
+ <%= (@object.respond_to?(:properties) ? @object.properties[:page_title] : nil) ||
+ @object.friendly_link_name %>
<% end %>
+<% content_for :content_top do %>
+
<% if @object.respond_to? :properties %>
-<% if @object.properties[:page_content] %>
-<% content_for :page_content do %>
-<h1>
-<%= render_content_from_database(@object.properties[:page_title] || @object.uuid) %>
-</h1>
+ <% if @object.properties[:page_content] %>
+ <% content_for :page_content do %>
+ <h1>
+ <%= render_content_from_database(@object.properties[:page_title] || @object.uuid) %>
+ </h1>
+
+ <% if @object.properties[:page_subtitle] %>
+ <h4>
+ <%= render_content_from_database @object.properties[:page_subtitle] %>
+ </h4>
+ <% end %>
-<% if @object.properties[:page_subtitle] %>
-<h4>
-<%= render_content_from_database @object.properties[:page_subtitle] %>
-</h4>
+ <%= render_content_from_database @object.properties[:page_content] %>
+ <% end %>
+ <% end %>
<% end %>
-<%= render_content_from_database @object.properties[:page_content] %>
-<% end %>
-<% end %>
<% end %>
-<% pane_list = controller.show_pane_list %>
+<%= render partial: 'content', layout: 'content_layout', locals: {pane_list: controller.show_pane_list }%>
-<ul class="nav nav-tabs">
- <% pane_list.each_with_index do |pane, i| %>
- <li class="<%= 'active' if i==0 %>"><a href="#<%= pane %>" data-toggle="tab" id="<%= pane %>-tab"><%= pane.capitalize.gsub '_', ' ' %></a></li>
- <% end %>
-</ul>
-
-<div class="tab-content">
- <% pane_list.each_with_index do |pane, i| %>
- <div id="<%= pane %>" class="tab-pane fade in <%= 'active' if i==0 %>">
- <div class="smart-scroll">
- <%= render partial: 'show_' + pane %>
- </div>
- </div>
- <% end %>
-</div>
diff --git a/apps/workbench/app/views/authorized_keys/_help.html.erb b/apps/workbench/app/views/authorized_keys/_help.html.erb
deleted file mode 100644
index db4d4dc..0000000
--- a/apps/workbench/app/views/authorized_keys/_help.html.erb
+++ /dev/null
@@ -1,10 +0,0 @@
-<p>
- More information about how to log in to VMs:
-</p>
-<ul>
- <li>
- <%= link_to raw('Arvados Docs → User Guide → SSH access'),
- "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access.html",
- target: "_blank"%>.
- </li>
-</ul>
diff --git a/apps/workbench/app/views/authorized_keys/index.html.erb b/apps/workbench/app/views/authorized_keys/index.html.erb
deleted file mode 100644
index 37e8fce..0000000
--- a/apps/workbench/app/views/authorized_keys/index.html.erb
+++ /dev/null
@@ -1 +0,0 @@
-<%= render template: 'application/index' %>
diff --git a/apps/workbench/app/views/collections/_index_tbody.html.erb b/apps/workbench/app/views/collections/_index_tbody.html.erb
index f8fbcdc..b412345 100644
--- a/apps/workbench/app/views/collections/_index_tbody.html.erb
+++ b/apps/workbench/app/views/collections/_index_tbody.html.erb
@@ -3,17 +3,29 @@
<tr class="collection">
<td>
<%= link_to_if_arvados_object c.uuid %>
- </td><td>
- <% c.files.each do |file| %>
- <%= file[0] == '.' ? file[1] : "#{file[0]}/#{file[1]}" %>
+ </td>
+ <td>
+ <% i = 0 %>
+ <% while i < 3 and i < c.files.length %>
+ <% file = c.files[i] %>
+ <% file_path = "#{file[0]}/#{file[1]}" %>
+ <%= link_to file[1], {controller: 'collections', action: 'show_file', uuid: c.uuid, file: file_path, size: file[2], disposition: 'inline'}, {title: 'View in browser'} %><br />
+ <% i += 1 %>
+ <% end %>
+ <% if i < c.files.length %>
+ ⋮
<% end %>
- </td><td>
+ </td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: c, attr: "owner_uuid", attrvalue: c.owner_uuid } %></td>
+ <td>
<%= raw(distance_of_time_in_words(c.created_at, Time.now).sub('about ','~').sub(' ',' ')) if c.created_at %>
- </td><td>
+ </td>
+ <td>
<% if @collection_info[c.uuid] %>
<%= @collection_info[c.uuid][:tags].uniq.join ', ' %>
<% end %>
- </td><td>
+ </td>
+ <td>
<% if @collection_info[c.uuid][:wanted_by_me] %>
<span class="label label-info">2×</span>
<% elsif @collection_info[c.uuid][:wanted] %>
diff --git a/apps/workbench/app/views/collections/_recent.html.erb b/apps/workbench/app/views/collections/_recent.html.erb
deleted file mode 100644
index 4f383f3..0000000
--- a/apps/workbench/app/views/collections/_recent.html.erb
+++ /dev/null
@@ -1,43 +0,0 @@
-<div class="pull-right">
- <%= form_tag collections_path, method: 'get', remote: true, class: 'form-search' do %>
- <div class="input-append">
- <%= text_field_tag :search, params[:search], class: 'search-query' %>
- <%= submit_tag "Search", name: nil, class: 'btn btn-info' %>
- </div>
- <% end %>
-</div>
-
-<table id="collections-index" class="topalign table table-bordered table-condensed table-fixedlayout table-smallcontent">
- <colgroup>
- <col width="10%" />
- <col width="50%" />
- <col width="16%" />
- <col width="16%" />
- <col width="8%" />
- </colgroup>
- <thead>
- <tr class="contain-align-left">
- <th>
- uuid
- </th><th>
- contents
- </th><th>
- age
- </th><th>
- tags
- </th><th>
- storage
- </th>
- </tr>
- </thead>
- <tbody>
- <%= render partial: 'index_tbody' %>
- </tbody>
-</table>
-
-<% content_for :js do %>
-$(document).on('click', 'form[data-remote] input[type=submit]', function() {
- $('table#collections-index tbody').fadeTo(200, 0.3);
- return true;
-});
-<% end %>
diff --git a/apps/workbench/app/views/groups/index.html.erb b/apps/workbench/app/views/groups/index.html.erb
deleted file mode 100644
index 1e81518..0000000
--- a/apps/workbench/app/views/groups/index.html.erb
+++ /dev/null
@@ -1,42 +0,0 @@
-<table class="table table-hover">
- <thead>
- <tr class="contain-align-left">
- <th>
- id
- </th><th>
- name
- </th><th>
- owner
- </th><th>
- incoming permissions
- </th><th>
- outgoing permissions
- </th><th>
- owned
- </th>
- </tr>
- </thead>
- <tbody>
-
- <% @groups.sort_by { |g| g[:created_at] }.reverse.each do |g| %>
-
- <tr>
- <td>
- <%= link_to_if_arvados_object g %>
- </td><td>
- <%= g.name %>
- </td><td>
- <%= g.owner_uuid %>
- </td><td>
- <%= @links_to.select { |x| x.head_uuid == g.uuid }.collect(&:tail_uuid).uniq.count %>
- </td><td>
- <%= @links_from.select { |x| x.tail_uuid == g.uuid }.collect(&:head_uuid).uniq.count %>
- </td><td>
- <%= @owned_users.select { |x| x.owner_uuid == g.uuid }.count %> users<br />
- </td>
- </tr>
-
- <% end %>
-
- </tbody>
-</table>
diff --git a/apps/workbench/app/views/jobs/_recent.html.erb b/apps/workbench/app/views/jobs/_recent.html.erb
deleted file mode 100644
index 2f16391..0000000
--- a/apps/workbench/app/views/jobs/_recent.html.erb
+++ /dev/null
@@ -1,141 +0,0 @@
-<% content_for :css do %>
- table.topalign>tbody>tr>td {
- vertical-align: top;
- }
- table.topalign>thead>tr>td {
- vertical-align: bottom;
- }
-<% end %>
-
-<table class="topalign table">
- <thead>
- <tr class="contain-align-left">
- <th>
- </th><th>
- status
- </th><th>
- progress
- </th><th>
- uuid
- </th><th>
- script
- </th><th>
- version
- </th><th>
- output
- </th>
- </tr>
- </thead>
- <tbody>
-
- <% @jobs.sort_by { |j| j[:created_at] }.reverse.each do |j| %>
-
- <tr class="cell-noborder">
- <td>
- <i class="icon-plus-sign expand-collapse-row" data-id="<%= j.uuid %>" style="cursor: pointer"></i>
- </td>
- <td>
- <% if j.success == false %>
- <span class="badge badge-warning" title="fail">✖</span>
- <% elsif j.success %>
- <span class="badge badge-success" title="success">✔</span>
- <% elsif j.running %>
- <span class="badge badge-info" title="running">✈</span>
- <% else %>
- <span class="badge" title="queued">✉</span>
- <% end %>
- </td>
- <td>
- <% if j.started_at and not j.finished_at %>
- <% percent_total_tasks = 100 / (j.tasks_summary[:running] + j.tasks_summary[:done] + j.tasks_summary[:todo]) rescue 0 %>
- <div class="progress" style="margin-bottom: 0">
- <div class="bar bar-success" style="width: <%= j.tasks_summary[:done] * percent_total_tasks rescue 0 %>%;"></div>
- <div class="bar" style="width: <%= j.tasks_summary[:running] * percent_total_tasks rescue 0 %>%; opacity: 0.3"></div>
- </div>
- <% end %>
- </td>
- <td>
- <%= link_to_if_arvados_object j.uuid %>
- </td>
- <td>
- <%= j.script %>
- </td>
- <td>
- <%= j.script_version.andand[0..8] %>
- </td>
- <td>
- <%= link_to_if_arvados_object j.output %>
- </td>
- </tr>
- <tr class="cell-noborder" id="<%= j.uuid %>" style="display:none">
- <td colspan="7"><table class="table table-justforlayout"><tr>
- <td style="border-left: 1px solid black">
- <table class="table table-condensed">
- <tr>
- <td>
- queued
- </td>
- <td>
- ✉ <span title="<%= j.created_at %>"><%= raw distance_of_time_in_words(Time.now, j.created_at).sub('about ','~').sub(' ',' ') + ' ago' if j.created_at %></span>
- </td>
- <td>
- <%= raw('for ' + distance_of_time_in_words(j.started_at, j.created_at).sub('about ','~').sub(' ',' ')) if j.created_at and j.started_at %>
- </td>
- </tr>
- <% if j.started_at.is_a? Time %>
- <tr>
- <td>
- started
- </td>
- <td>
- ✈ <span title="<%= j.created_at %>"><%= raw distance_of_time_in_words(j.started_at, Time.now).sub('about ','~').sub(' ',' ') + ' ago' if j.started_at %></span>
- </td>
- <td>
- <% if j.finished_at.is_a? Time %>
- <%= raw('ran ' + distance_of_time_in_words(j.finished_at, j.started_at).sub('about ','~').sub(' ',' ')) %>
- <% elsif j.running %>
- <span class="badge badge-success" title="tasks finished">✔ <%= j.tasks_summary[:done] %></span>
- <span class="badge badge-info" title="tasks running">✈ <%= j.tasks_summary[:running] %></span>
- <span class="badge" title="tasks todo">✉ <%= j.tasks_summary[:todo] %></span>
- <% if j.tasks_summary[:failed] %>
- <span class="badge badge-warning" title="task failures">✖ <%= j.tasks_summary[:failed] %></span>
- <% end %>
- <% end %>
- </td>
- </tr>
- <% end %>
- </table>
- </td><td>
- <table class="table table-condensed">
- <tr><td colspan="2">
- <%= j.script %> <%= j.script_version %>
- </td></tr>
- <% j.script_parameters.sort.each do |k,v| %>
- <tr>
- <td><%= k %></td><td><%= link_to_if_arvados_object v %></td>
- </tr>
- <% end %>
- <tr>
- <td>output</td><td><%= link_to_if_arvados_object j.output %></td>
- </tr>
- </table>
- </td><td>
- <table class="table table-condensed">
- <% j.runtime_constraints.sort.each do |k,v| %>
- <tr><td><%= v %></td><td><%= k %></td></tr>
- <% end %>
- </table>
- </td>
- </tr></table></td>
- </tr>
-
- <% end %>
-
- </tbody>
-</table>
-
-<%= render partial: 'application/svg_div', locals: {
- divId: "provenance_graph",
- svgId: "provenance_svg",
- svg: @svg } %>
-
diff --git a/apps/workbench/app/views/layouts/application.html.erb b/apps/workbench/app/views/layouts/application.html.erb
index 2e2fb84..f186fda 100644
--- a/apps/workbench/app/views/layouts/application.html.erb
+++ b/apps/workbench/app/views/layouts/application.html.erb
@@ -102,6 +102,7 @@
</div>
</li>
+ <!-- XXX placeholder for this when search is implemented
<li>
<form class="navbar-form" role="search">
<div class="input-group" style="width: 220px">
@@ -110,6 +111,20 @@
</div>
</form>
</li>
+ -->
+
+ <!-- XXX placeholder for this when persistent selection is implemented
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ <span class="glyphicon glyphicon-paperclip"></span>
+ <span class="badge"><%= @selection_count %></span>
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu" role="menu">
+ <li style="padding: 10px">No selections.</li>
+ </ul>
+ </li>
+ -->
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
@@ -161,7 +176,7 @@
['traits'],
['specimens'],
['collections', 'Files'],
- ['links']]],
+ ['links', 'Metadata']]],
['Compute', [['pipeline_templates', 'Pipelines'],
['repositories', 'Code repositories'],
['virtual_machines']]],
diff --git a/apps/workbench/app/views/pipeline_instances/_recent.html.erb b/apps/workbench/app/views/pipeline_instances/_recent.html.erb
deleted file mode 100644
index ef394e8..0000000
--- a/apps/workbench/app/views/pipeline_instances/_recent.html.erb
+++ /dev/null
@@ -1,85 +0,0 @@
-<%= form_tag do |f| %>
-
-<table class="table table-hover">
- <thead>
- <tr class="contain-align-left">
- <th>
- </th><th>
- status
- </th><th>
- id
- </th><th>
- name
- </th><th>
- template
- </th><th>
- owner
- </th><th>
- components
- </th><th>
- dependencies
- </th><th>
- created
- </th><th>
- </th>
- </tr>
- </thead>
- <tbody>
-
- <% @objects.sort_by { |ob| ob.created_at }.reverse.each do |ob| %>
-
- <tr data-object-uuid="<%= ob.uuid %>">
- <td>
- <%= check_box_tag 'uuids[]', ob.uuid, false %>
- </td><td>
- <% if ob.success %>
- <span class="label label-success">success</span>
- <% elsif ob.active %>
- <span class="label label-info">active</span>
- <% end %>
- </td><td>
- <%= link_to_if_arvados_object ob %>
- </td><td>
- <%= ob.name %>
- </td><td>
- <%= link_to_if_arvados_object ob.pipeline_template_uuid %>
- </td><td>
- <%= link_to_if_arvados_object ob.owner_uuid %>
- </td><td>
- <% ob.components.each do |cname, c| %>
- <% status = if !(c.is_a?(Hash) && c[:job].is_a?(Hash)) then nil elsif c[:job][:success] then 'success' elsif c[:job][:running] then 'info' else 'warning' end %>
- <span class="label <%= "label-#{status}" if status %>"><%= cname.to_s %></span>
- <% end %>
- </td><td>
- <small>
- <% ob.dependencies.each do |d| %>
- <%= d %><br />
- <% end %>
- </small>
- </td><td>
- <%= ob.created_at %>
- </td>
- </tr>
-
- <% end %>
-
- </tbody>
-</table>
-
-<% end %>
-
-<% content_for :footer_js do %>
-var showhide_compare = function() {
- var form = $('form#compare')[0];
- $('input[type=hidden][name="uuids[]"]', form).remove();
- $('input[type=submit]', form).prop('disabled',true);
- $('input[name="uuids[]"]').each(function(){
- if(this.checked) {
- $('input[type=submit]', form).prop('disabled',false).show();
- $(form).append($('<input type="hidden" name="uuids[]"/>').val(this.value));
- }
- });
-};
-$('form input[name="uuids[]"]').on('click', showhide_compare);
-showhide_compare();
-<% end %>
diff --git a/apps/workbench/app/views/pipeline_instances/compare.html.erb b/apps/workbench/app/views/pipeline_instances/compare.html.erb
index 79a1038..9e8d1e5 100644
--- a/apps/workbench/app/views/pipeline_instances/compare.html.erb
+++ b/apps/workbench/app/views/pipeline_instances/compare.html.erb
@@ -1,87 +1 @@
-<% content_for :css do %>
-.notnormal {
- background: #ffffaa;
-}
-.headrow div {
- padding-top: .5em;
- padding-bottom: .5em;
-}
-.headrow:first-child {
- border-bottom: 1px solid black;
-}
-<% end %>
-
-<% pi_span = [(10.0/[@objects.count,1].max).floor,1].max %>
-<div>
-<% [['Instance', :uuid], ['Template', :pipeline_template_uuid]].each do |label, attr| %>
-<div class="row headrow">
- <div class="span2">
- <%# label %>
- </div>
- <% @objects.each do |object| %>
- <div class="span<%= pi_span %>">
- <%= render partial: 'application/arvados_attr_value', locals: { obj: object, attr: attr, attrvalue: object.send(attr.to_sym) } %>
- </div>
- <% end %>
-</div>
-<% end %>
-</div>
-
-<% @rows.each do |row| %>
-<div class="row">
- <div class="span2">
- <%= row[:name] %>
- </div>
- <% @objects.each_with_index do |_, x| %>
- <div class="span<%= pi_span %>">
- <div class="row">
-
- <% if row[:components][x] %>
- <% pj = render_pipeline_job row[:components][x] %>
-
- <div class="span3">
- <%= link_to_if_arvados_object pj[:job_id], {friendly_name: true, with_class_name: true}, {class: 'deemphasize'} %>
- </div>
-
- <% %w(script script_version script_parameters output).each do |key| %>
- <div class="span3">
- <% unless key=='output' and pj[:result] != 'complete' %>
- <% val = pj[key.to_sym] || pj[:job].andand[key.to_sym] %>
- <% link_name = case
- when !val
- val = ''
- when key == 'script_version' && val.match(/^[0-9a-f]{7,}$/)
- val = val[0..7] # TODO: leave val alone, make link_to handle git commits
- when key == 'output'
- val.sub! /\+K.*$/, ''
- val[0..12]
- when key == 'script_parameters'
- val = val.keys.sort.join(', ')
- end
- %>
- <span class="deemphasize"><%= key %>:</span> <span class="<%= 'notnormal' if !pj[:is_normal][key.to_sym] %>"><%= link_to_if_arvados_object val, {friendly_name: true, link_text: link_name} %></span>
- <% end %>
- </div>
- <% end %>
- <% else %>
- None
- <% end %>
- </div>
- </div>
- <% end %>
-</div>
-<div class="row" style="padding: .5em">
-</div>
-<% end %>
-
-
- <div style="text-align: center">
- <span class="pipeline_color_legend" style="background: #88ff88">This pipeline</span>
- <span class="pipeline_color_legend" style="background: #8888ff">Comparison pipeline</span>
- <span class="pipeline_color_legend" style="background: #88ffff">Shared by both pipelines</span>
- </div>
-
- <%= render partial: 'application/svg_div', locals: {
- divId: "provenance_graph",
- svgId: "provenance_svg",
- svg: @prov_svg } %>
+<%= render partial: 'content', layout: 'content_layout', locals: {pane_list: controller.compare_pane_list } %>
diff --git a/apps/workbench/app/views/pipeline_templates/_recent.html.erb b/apps/workbench/app/views/pipeline_templates/_recent.html.erb
deleted file mode 100644
index dd8bad0..0000000
--- a/apps/workbench/app/views/pipeline_templates/_recent.html.erb
+++ /dev/null
@@ -1,34 +0,0 @@
-<table class="table table-hover">
- <thead>
- <tr class="contain-align-left">
- <th>
- id
- </th><th>
- name
- </th><th>
- owner
- </th><th>
- components
- </th>
- </tr>
- </thead>
- <tbody>
-
- <% @objects.sort_by { |ob| ob[:created_at] }.reverse.each do |ob| %>
-
- <tr>
- <td>
- <%= link_to_if_arvados_object ob %>
- </td><td>
- <%= render_editable_attribute ob, 'name' %>
- </td><td>
- <%= link_to_if_arvados_object ob.owner_uuid %>
- </td><td>
- <%= ob.components.collect { |k,v| k.to_s }.join(", ") %>
- </td>
- </tr>
-
- <% end %>
-
- </tbody>
-</table>
diff --git a/apps/workbench/app/views/pipeline_templates/show.html.erb b/apps/workbench/app/views/pipeline_templates/show.html.erb
deleted file mode 100644
index 097347b..0000000
--- a/apps/workbench/app/views/pipeline_templates/show.html.erb
+++ /dev/null
@@ -1,42 +0,0 @@
-<table class="table topalign">
- <thead>
- </thead>
- <tbody>
- <% @object.attributes_for_display.each do |attr, attrvalue| %>
- <% if attr == 'components' and attrvalue.is_a? Hash and attrvalue[:steps].is_a? Array %>
-
- <tr><td>components[steps]</td><td>
- <table class="table">
- <% attrvalue[:steps].each_with_index do |s, i| %>
- <tr>
- <td><%= i %></td>
- <% %w(name function min_revision max_steps_per_node params).each do |key| %>
- <td>
- <% if key == 'params' %>
- <% s[key.to_sym].each do |p| %>
- <%= p[:name] %>
- <% if p[:data_locator] || p[:value] %>
- ← <%= p[:data_locator] || p[:value] %>
- <% end %>
- <%= '(optional)' if p[:optional] %>
- <br />
- <% end %>
- <% else %>
- <%= s[key.to_sym] %>
- <% end %>
- </td>
- <% end %>
- </tr>
- <% end %>
- </table>
- </td></tr>
-
- <% else %>
- <%= render partial: 'application/arvados_object_attr', locals: { attr: attr, attrvalue: attrvalue } %>
- <% end %>
- <% end %>
- </tbody>
-</table>
-<pre>
-<%= JSON.pretty_generate(@object.attributes) rescue nil %>
-</pre>
diff --git a/apps/workbench/app/views/repositories/_help.html.erb b/apps/workbench/app/views/repositories/_help.html.erb
deleted file mode 100644
index 2830da5..0000000
--- a/apps/workbench/app/views/repositories/_help.html.erb
+++ /dev/null
@@ -1,27 +0,0 @@
-<% if (example = @objects.select(&:push_url).first) %>
-
-<p>
-Sample git quick start:
-</p>
-
-<pre>
-git clone <%= example.push_url %> <%= example.name unless example.push_url.match(/:(\S+)\.git$/).andand[1] == example.name %>
-cd <%= example.name %>
-# edit files
-git add the/files/you/changed
-git commit
-git push
-</pre>
-
-<% end %>
-
-<p>
- See also:
- <%= link_to raw('Arvados Docs → User Guide → SSH access'),
- "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access.html",
- target: "_blank"%> and
- <%= link_to raw('Arvados Docs → User Guide → Writing a Crunch
- Script'),
- "#{Rails.configuration.arvados_docsite}/user/tutorials/tutorial-firstscript.html",
- target: "_blank"%>.
-</p>
diff --git a/apps/workbench/app/views/virtual_machines/_help.html.erb b/apps/workbench/app/views/virtual_machines/_help.html.erb
deleted file mode 100644
index abf76b0..0000000
--- a/apps/workbench/app/views/virtual_machines/_help.html.erb
+++ /dev/null
@@ -1,26 +0,0 @@
-<p>
-Sample <code>~/.ssh/config</code> section:
-</p>
-
-<pre>
-Host *.arvados
- ProxyCommand ssh -p2222 turnout at switchyard.<%= current_api_host || 'xyzzy.arvadosapi.com' %> -x -a $SSH_PROXY_FLAGS %h
-<% if @objects.first.andand.current_user_logins.andand.first %>
- User <%= @objects.first.current_user_logins.andand.first %>
-<% end %>
-</pre>
-
-<p>
-Sample login command:
-</p>
-
-<pre>
-ssh <%= @objects.first.andand.hostname.andand.sub('.'+current_api_host,'') or 'vm-hostname' %>.arvados
-</pre>
-
-<p>
- See also:
- <%= link_to raw('Arvados Docs → User Guide → SSH access'),
- "#{Rails.configuration.arvados_docsite}/user/getting_started/ssh-access.html",
- target: "_blank"%>.
-</p>
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list