Merge branch 'master' of git.clinicalfuture.com:arvados
[arvados.git] / apps / workbench / app / views / application / _index.html.erb
1
2 <h2 class="pull-left"><%= controller.model_class.to_s.pluralize.underscore.capitalize.gsub '_', ' ' %></h2>
3 <br/>
4 <% if controller.model_class.creatable? %>
5 <%= button_to "Add a new #{controller.model_class.to_s.underscore.gsub '_', ' '}", 
6     { action: 'create', return_to: request.url }, 
7     { class: 'btn btn-primary pull-right' } %>
8 <% end %>
9
10
11 <% if @objects.empty? %>
12 <br/>
13 <p style="text-align: center">
14   No <%= controller.model_class.to_s.pluralize.underscore.gsub '_', ' ' %> to display.
15 </p>
16
17 <% else %>
18
19 <% attr_blacklist = ' created_at modified_at modified_by_user_uuid modified_by_client_uuid updated_at' %>
20
21 <table class="table arv-index">
22   <thead>
23     <tr>
24       <% @objects.first.attributes_for_display.each do |attr, attrvalue| %>
25       <% next if attr_blacklist.index(" "+attr) %>
26       <th class="arv-attr-<%= attr %>">
27         <%= controller.model_class.attribute_info[attr.to_sym].andand[:column_heading] or attr.sub /_uuid/, '' %>
28       </th>
29       <% end %>
30       <th>
31         <!-- a column for delete buttons -->
32       </th>
33     </tr>
34   </thead>
35       
36   <tbody>
37     <% @objects.each do |object| %>
38     <tr>
39       <% object.attributes_for_display.each do |attr, attrvalue| %>
40       <% next if attr_blacklist.index(" "+attr) %>
41       <td class="arv-object-<%= object.class.to_s %> arv-attr-<%= attr %>">
42         <% if attr == 'uuid' %>
43         <%= link_to_if_arvados_object object %>
44         <%= link_to_if_arvados_object(object, { link_text: raw('<i class="icon-hand-right"></i>') }) %>
45         <% else %>
46         <% if object.attribute_editable? attr %>
47         <%= render_editable_attribute object, attr %>
48         <% else %>
49         <%= resource_class_for_uuid(attrvalue, referring_attr: attr, referring_object: @object).to_s %>
50         <%= attrvalue %>
51         <% end %>
52         <%= 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}) %>
53         <% end %>
54       </td>
55       <% end %>
56       <td>
57         <% if object.editable? %>
58         <%= link_to({action: 'destroy', id: object.uuid}, method: :delete, data: {confirm: "You are about to delete #{controller.model_class} #{object.uuid}.\n\nAre you sure?"}) do %>
59         <i class="icon-trash"></i>
60         <!-- <%= object.inspect %> -->
61         <% end %>
62         <% end %>
63       </td>
64     </tr>
65     <% end %>
66   </tbody>
67
68   <tfoot>
69   </tfoot>
70 </table>
71
72 <% end %>
73