make authorized_keys editable on index page
authorTom Clegg <tom@clinicalfuture.com>
Fri, 7 Jun 2013 03:41:45 +0000 (23:41 -0400)
committerTom Clegg <tom@clinicalfuture.com>
Fri, 7 Jun 2013 03:41:45 +0000 (23:41 -0400)
apps/workbench/app/helpers/application_helper.rb
apps/workbench/app/views/application/_arvados_object_attr.html.erb
apps/workbench/app/views/authorized_keys/index.html.erb

index f29c73ed3411bbfe30c1c0ace13321e56ffba2d6..fa25a29417eef49c186eccb16ae703321f064e64 100644 (file)
@@ -32,4 +32,17 @@ module ApplicationHelper
       attrvalue
     end
   end
+
+  def render_editable_attribute(object, attr)
+    attrvalue = object.send attr
+    return attrvalue if !object.attribute_editable? attr
+    link_to object.send(attr).to_s, '#', {
+      "data-type" => "text",
+      "data-resource" => object.class.to_s.underscore,
+      "data-name" => attr,
+      "data-url" => url_for(action: "update", id: object.uuid, controller: object.class.to_s.pluralize.underscore),
+      "data-original-title" => "Update #{attr.gsub '_', ' '}",
+      :class => "editable"
+    }
+  end
 end
index 7a5d60df6581a809344db897841474149b6449f9..74c1c111f6ed6876bd5399ba1caa6a9140cf7889 100644 (file)
@@ -20,7 +20,7 @@
   <% 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><%= link_to "#{attrvalue}", '#', { "data-type" => "text", "data-resource" => @object.class.to_s.singularize.underscore, "data-name" => attr, "data-url" => url_for(action: "update", id: @object.uuid), "data-original-title" => "Enter #{attr}", :class => "editable" } %></td>
+  <td><%= render_editable_attribute @object, attr %></td>
   <% else %>
   <td><%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: @object, with_prefixes: true, with_class_name: true} %></td>
   <% end %>
index 4658af851ee989fb3e7bbbd204a0ddb4b2c13a94..99ab69bc3ad3963822d42eb50bfca760e535ee4e 100644 (file)
@@ -8,11 +8,11 @@
       </th><th>
        name
       </th><th>
-       key_type
+       key&nbsp;type
       </th><th>
-       public_key
+       public&nbsp;key
       </th><th>
-       expires_at
+       expires
       </th>
     </tr>
   </thead>
       <td>
         <%= link_to_if_arvados_object ak %>
       </td><td>
-        <%= ak.owner %>
+        <%= render_editable_attribute ak, 'owner' %>
       </td><td>
-        <%= ak.name %>
+        <%= render_editable_attribute ak, 'name' %>
       </td><td>
-        <%= ak.key_type %>
+        <%= render_editable_attribute ak, 'key_type' %>
       </td><td>
-        <%= ak.public_key %>
+        <%= render_editable_attribute ak, 'public_key' %>
       </td><td>
-        <%= ak.expires_at %>
+        <%= render_editable_attribute ak, 'expires_at' %>
       </td>
     </tr>