add links beside editable object uuids
authorTom Clegg <tom@clinicalfuture.com>
Wed, 31 Jul 2013 15:19:13 +0000 (11:19 -0400)
committerTom Clegg <tom@clinicalfuture.com>
Wed, 31 Jul 2013 15:19:17 +0000 (11:19 -0400)
apps/workbench/app/helpers/application_helper.rb
apps/workbench/app/views/application/_arvados_object_attr.html.erb
apps/workbench/app/views/application/_index.html.erb

index f630e764f22432ce7f9c1fc703cc30295140c6ff..c67b314cb82e72edbe4b338337bbe63fdd5b741e 100644 (file)
@@ -22,8 +22,12 @@ module ApplicationHelper
     cooked = raw + cooked
   end
 
+  def resource_class_for_uuid(attrvalue, opts={})
+    ArvadosBase::resource_class_for_uuid(attrvalue, opts)
+  end
+
   def link_to_if_arvados_object(attrvalue, opts={}, style_opts={})
-    if (resource_class = ArvadosBase::resource_class_for_uuid(attrvalue, opts))
+    if (resource_class = resource_class_for_uuid(attrvalue, opts))
       link_uuid = attrvalue.is_a?(ArvadosBase) ? attrvalue.uuid : attrvalue
       link_name = opts[:link_text]
       if !link_name
@@ -31,7 +35,6 @@ module ApplicationHelper
         if opts[:with_class_name]
           link_name = "#{resource_class.to_s} #{link_name}"
         end
-        style_opts = style_opts.merge(style: 'font-family: monospace')
       end
       link_to link_name, { controller: resource_class.to_s.underscore.pluralize, action: 'show', id: link_uuid }, style_opts
     else
index ce175cc2f6ffef61de573d3451971a62c753daff..7effb1e97de53ebcc0cfa23ff5ab87e6ac48e4f1 100644 (file)
 <% elsif attrvalue.is_a? String or attrvalue.respond_to? :to_s %>
 <tr class="<%= 'info' if %w(uuid owner_uuid created_at modified_at modified_by_user_uuid modified_by_client_uuid updated_at).index(attr.to_s).nil? %>">
   <td><%= attr %></td>
-  <% if attr == 'uuid' and (uuid = attrvalue.split('-')).size == 3 %>
-  <td><%= uuid[0..-2].join('-') %>-<b><%= uuid[-1] %></b></td>
-  <% elsif @object.attribute_editable?(attr) %>
-  <td><%= render_editable_attribute @object, attr %></td>
-  <% else %>
-  <td><%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: @object, with_class_name: true} %></td>
-  <% end %>
+  <td>
+    <% if attr == 'uuid' and (uuid = attrvalue.split('-')).size == 3 %>
+    <%= uuid[0..-2].join('-') %>-<b><%= uuid[-1] %></b>
+    <% elsif @object.attribute_editable?(attr) %>
+    <%= render_editable_attribute @object, attr %>
+    <% else %>
+    <%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: @object, with_class_name: true} %>
+    <% 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}) %>
+  </td>
 </tr>
 <% end %>
index f79555f8bdcf3ad991146f1dc1e84291d87926fe..f72a68ce3d11d96a28b1f8d87e7341d74809bd0f 100644 (file)
       <td class="arv-object-<%= object.class.to_s %> arv-attr-<%= attr %>">
         <% if attr == 'uuid' %>
         <%= link_to_if_arvados_object object %>
-        <% elsif object.attribute_editable? attr %>
+        <%= 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 %>
-        <%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: @object, with_class_name: true} %>
+        <%= 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 %>