3504: Fix collection chooser. Fix generic link render to use uuid if nothing
[arvados.git] / apps / workbench / app / views / collections / show.html.erb
1 <div class="row row-fill-height">
2   <div class="col-md-6">
3     <div class="panel panel-info">
4       <div class="panel-heading">
5         <h3 class="panel-title">
6           <% if @object.uuid.match /[0-9a-f]{32}/ %>
7             Content hash <%= @object.portable_data_hash %>
8           <% else %>
9             <%= if @object.respond_to? :name
10                   render_editable_attribute @object, :name
11                 else
12                   @name_link.andand.name || @object.uuid
13                 end %>
14             <% end %>
15         </h3>
16       </div>
17       <div class="panel-body">
18         <img src="/favicon.ico" class="pull-right" alt="" style="opacity: 0.3"/>
19         <% if @object.uuid.match /[0-9a-f]{32}/ %>
20           <p>Found in collections:<p>
21           <p>
22             <% cols = Collection.filter([["portable_data_hash", "=", @object.portable_data_hash]]).each do |c| %>
23               <%= link_to_if_arvados_object c.owner_uuid, {:friendly_name => true} %> / <%= link_to_if_arvados_object c, {:friendly_name => true} %><br>
24             <% end %>
25           </p>
26         <% else %>
27           <p><i>Content hash:</i><br />
28             <span class="arvados-uuid"><%= link_to @object.portable_data_hash, collection_path(@object.portable_data_hash) %></span></p>
29         <% end %>
30         <%= render partial: "show_source_summary" %>
31       </div>
32     </div>
33   </div>
34   <div class="col-md-3">
35     <div class="panel panel-default">
36       <div class="panel-heading">
37         <h3 class="panel-title">
38           Activity
39         </h3>
40       </div>
41       <div class="panel-body smaller-text">
42         <!--
43         <input type="text" class="form-control" placeholder="Search"/>
44         -->
45         <div style="height:0.5em;"></div>
46         <% name_or_object = @name_link.andand.uuid ? @name_link : @object %>
47         <% if name_or_object.created_at and not @logs.andand.any? %>
48           <p>
49             Created: <%= name_or_object.created_at.to_s(:long) if name_or_object.created_at %>
50           </p>
51           <p>
52             Last modified: <%= name_or_object.modified_at.to_s(:long) if name_or_object.modified_at %> by <%= link_to_if_arvados_object name_or_object.modified_by_user_uuid, friendly_name: true %>
53           </p>
54         <% else %>
55           <%= render_arvados_object_list_start(@logs, 'Show all activity',
56                 logs_path(filters: [['object_uuid','=',name_or_object.uuid]].to_json)) do |log| %>
57           <p>
58           <%= time_ago_in_words(log.event_at) rescue 'unknown time' %> ago: <%= log.summary %>
59             <% if log.object_uuid %>
60             <%= link_to_if_arvados_object log.object_uuid, link_text: raw('<i class="fa fa-hand-o-right"></i>') %>
61             <% end %>
62           </p>
63           <% end %>
64         <% end %>
65       </div>
66     </div>
67   </div>
68   <div class="col-md-3">
69     <div class="panel panel-default">
70       <div class="panel-heading">
71         <h3 class="panel-title">
72           Sharing and permissions
73         </h3>
74       </div>
75       <div class="panel-body">
76         <!--
77         <input type="text" class="form-control" placeholder="Search"/>
78         -->
79
80         <div id="sharing-button">
81           <%= render partial: 'sharing_button' %>
82         </div>
83
84         <div style="height:0.5em;"></div>
85         <% if @projects.andand.any? %>
86           <p>Included in projects:<br />
87           <%= render_arvados_object_list_start(@projects, 'Show all projects',
88                 links_path(filters: [['head_uuid', '=', @object.uuid],
89                                      ['link_class', '=', 'name']].to_json)) do |project| %>
90             <%= link_to_if_arvados_object(project, friendly_name: true) %><br />
91           <% end %>
92           </p>
93         <% end %>
94         <% if @permissions.andand.any? %>
95           <p>Readable by:<br />
96           <%= render_arvados_object_list_start(@permissions, 'Show all permissions',
97                 links_path(filters: [['head_uuid', '=', @object.uuid],
98                                     ['link_class', '=', 'permission']].to_json)) do |link| %>
99           <%= link_to_if_arvados_object(link.tail_uuid, friendly_name: true) %><br />
100           <% end %>
101           </p>
102         <% end %>
103
104       </div>
105     </div>
106   </div>
107 </div>
108
109 <%= render file: 'application/show.html.erb', locals: local_assigns %>