6234: admin user can see other users' home projects; also add link to users' home...
[arvados.git] / apps / workbench / app / views / application / _show_recent.html.erb
1 <% if objects.empty? %>
2 <br/>
3 <p style="text-align: center">
4   No <%= controller.controller_name.humanize.downcase %> to display.
5 </p>
6
7 <% else %>
8
9 <% attr_blacklist = ' created_at modified_at modified_by_user_uuid modified_by_client_uuid updated_at owner_uuid group_class properties' %>
10
11 <% show_home_link = current_user.is_admin and controller.model_class == User %>
12
13 <%= render partial: "paging", locals: {results: objects, object: @object} %>
14
15 <%= form_tag do |f| %>
16
17 <table class="table table-condensed arv-index">
18   <thead>
19     <tr>
20       <% if objects.first and objects.first.class.goes_in_projects? %>
21         <th></th>
22       <% end %>
23       <th></th>
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       <% if show_home_link %>
31         <th class="arv-user-home">
32           <!-- a column for user's home -->
33         </th>
34       <% end %>
35       <th>
36         <!-- a column for delete buttons -->
37       </th>
38     </tr>
39   </thead>
40
41   <tbody>
42     <% objects.each do |object| %>
43     <tr data-object-uuid="<%= object.uuid %>">
44       <% if objects.first.class.goes_in_projects? %>
45         <td>
46           <%= render :partial => "selection_checkbox", :locals => {:object => object} %>
47         </td>
48       <% end %>
49       <td>
50         <%= render :partial => "show_object_button", :locals => {object: object, size: 'xs'} %>
51       </td>
52
53       <% object.attributes_for_display.each do |attr, attrvalue| %>
54       <% next if attr_blacklist.index(" "+attr) %>
55       <td class="arv-object-<%= object.class.to_s %> arv-attr-<%= attr %>">
56         <% if attr == 'uuid' %>
57           <span class="arvados-uuid"><%= attrvalue %></span>
58         <% else %>
59           <%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: object, with_class_name: true, friendly_name: true} %>
60         <% end %>
61       </td>
62       <% end %>
63       <% if show_home_link %>
64         <td>
65           <%= link_to 'Home', "/projects/#{object.uuid}" %>
66         </td>
67       <% end %>
68       <td>
69         <%= render partial: 'delete_object_button', locals: {object:object} %>
70       </td>
71     </tr>
72     <% end %>
73   </tbody>
74
75   <tfoot>
76   </tfoot>
77 </table>
78
79 <% end %>
80
81 <%= render partial: "paging", locals: {results: objects, object: @object} %>
82
83 <% end %>