+<%# Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: AGPL-3.0 %>
+
<%
collections = [current_obj.outputs, current_obj.docker_image].flatten.compact.uniq
collections_pdhs = collections.select {|x| !CollectionsHelper.match(x).nil?}.uniq.compact
collections_uuids = collections - collections_pdhs
preload_collections_for_objects collections_uuids if collections_uuids.any?
- preload_for_pdhs collections_pdhs if collections_pdhs.any?
+ preload_links_for_objects collections_uuids if collections_uuids.any?
preload_objects_for_dataclass(Repository, [current_obj.repository], :name) if current_obj.repository
+
+ # if container_X, preload mounted collections
+ if @object.is_a? Container or @object.is_a? ContainerRequest
+ # get any collections in mounts
+ mounts = current_obj.send(:mounts) if current_obj.respond_to?(:mounts)
+ input_obj = mounts.andand[:"/var/lib/cwl/cwl.input.json"].andand[:content]
+ if input_obj
+ input_obj.to_s.scan(/([0-9a-f]{32}\+\d+)/).each {|cs| collections_pdhs += cs}
+ end
+
+ command = current_obj.send(:command) if current_obj.respond_to?(:command)
+ if command
+ command.to_s.scan(/([0-9a-f]{32}\+\d+)/).each {|cs| collections_pdhs += cs}
+ end
+ end
+
+ collections_pdhs.compact.uniq
+ preload_for_pdhs collections_pdhs if collections_pdhs.any?
+ preload_links_for_objects collections_pdhs if collections_pdhs.any?
%>
<div class="container">
<%= render_localized_date(val) %>
<% elsif k == :outputs and val.any? %>
<% if val.size == 1 %>
- <%= link_to_arvados_object_if_readable(val[0], 'Output data not available', friendly_name: true) %>
+ <%= link_to_arvados_object_if_readable(val[0], "#{val[0]} (Unavailable)", friendly_name: true) %>
<% else %>
<%= render partial: 'work_units/show_outputs', locals: {id: current_obj.uuid, outputs: val, align:""} %>
<% end %>
</td>
<td style="word-wrap: break-all;">
<% if k == :command %>
- <div style="max-height:200px; overflow-y:auto;">
<% val = JSON.pretty_generate(val) %>
- <% val.each_line do |l| %>
- <% l.split(' ').each do |w| %>
- <% match = keep_locator_in_json w %>
- <% if match %>
- <% pdh_readable = object_readable(match[2]) %>
- <% quote_char = '"' %>
- <%= match[1] %><% if pdh_readable then %><%= link_to_arvados_object_if_readable(match[3], match[3], friendly_name: true) %><%= link_to_arvados_object_if_readable(match[2], match[2], link_text: match[4]) %><%=quote_char%><% else %><%= match[2]%><% end %><%=match[5]%>
- <% else %>
- <%= w %>
- <% end %>
- <% end %>
- <% end %>
- </div>
+ <%= render partial: 'show_text_with_locators', locals: {data_height: 200, text_data: val} %>
<% else %>
<%= val %>
<% end %>
cwl.input.json:
</td>
<td style="word-wrap: break-all;">
- <div style="max-height:400px; overflow:auto;">
- <% mnt_inputs.each_line do |l| %>
- <% text_part = l %>
- <% match = keep_locator_in_json l %>
- <% if match %>
- <% text_part = match[1] %>
- <% pdh_readable = object_readable(match[2]) %>
- <% quote_char = '"' %>
- <% end %>
- <span style="white-space: pre-wrap; margin: none;"><%= text_part %><% if match %><% if pdh_readable then %><%= link_to_arvados_object_if_readable(match[3], match[3], friendly_name: true) %><%= link_to_arvados_object_if_readable(match[2], match[2], link_text: match[4]) %><%=quote_char%><% else %><%= match[2]%><% end %><%=match[5]%><br/><% end %></span>
- <% end %>
- </div>
+ <%= render partial: 'show_text_with_locators', locals: {data_height: 400, text_data: mnt_inputs} %>
</td>
</tr>
<% end %>
<% if current_obj.parameters and !current_obj.parameters.empty? %>
<div class="row">
- <div class="col-md-6">
+ <div class="col-md-12">
<p>script_parameters:</p>
<pre><%= JSON.pretty_generate(current_obj.parameters) rescue nil %></pre>
</div>