8876: work_unit views in progress
[arvados.git] / apps / workbench / app / views / work_unit / _component_detail.html.erb
1       <div class="container">
2         <div class="row">
3           <div class="col-md-5">
4             <table>
5               <% [:uuid, :modified_by_user_uuid, :created_at, :started_at, :finished_at, :priority].each do |k| %>
6                 <% val = current_obj.send(k) if current_obj.respond_to?(k) %>
7                 <% unless val.nil? %>
8                 <tr>
9                   <td style="padding-right: 1em">
10                     <%= k.to_s %>:
11                   </td>
12                   <td>
13                     <% if k == :uuid %>
14                       <%= link_to_arvados_object_if_readable(val, val, link_text: val) %>
15                     <% elsif k.to_s.end_with? 'uuid' %>
16                       <%= link_to_arvados_object_if_readable(val, val, friendly_name: true) %>
17                     <% elsif k.to_s.end_with? '_at' %>
18                       <%= render_localized_date(val) %>
19                     <% else %>
20                       <%= val %>
21                     <% end %>
22                   </td>
23                 </tr>
24                 <% end %>
25               <% end %>
26             </table>
27           </div>
28           <div class="col-md-6">
29             <table>
30               <% # link to repo tree/file only if the repo is readable
31                  # and the commit is a sha1...
32                  repo =
33                  (/^[0-9a-f]{40}$/ =~ current_obj.script_version and
34                  Repository.where(name: current_obj.repository).first)
35
36                  # ...and the api server provides an http:// or https:// url
37                  repo = nil unless repo.andand.http_fetch_url
38                  %>
39               <% [:script, :repository, :script_version, :supplied_script_version, :nondeterministic].each do |k| %>
40                 <% val = current_obj.send(k) if current_obj.respond_to?(k) %>
41                 <% unless val.nil? %>
42                 <tr>
43                   <td style="padding-right: 1em">
44                     <%= k.to_s %>:
45                   </td>
46                   <td>
47                     <% if repo and k == :repository %>
48                       <%= link_to val, show_repository_tree_path(id: repo.uuid, commit: current_obj.script_version, path: '/') %>
49                     <% elsif repo and k == :script %>
50                       <%= link_to val, show_repository_blob_path(id: repo.uuid, commit: current_obj.script_version, path: 'crunch_scripts/'+current_obj.script) %>
51                     <% elsif repo and k == :script_version %>
52                       <%= link_to val, show_repository_commit_path(id: repo.uuid, commit: current_obj.script_version) %>
53                     <% else %>
54                       <%= val %>
55                     <% end %>
56                   </td>
57                 </tr>
58                 <% end %>
59               <% end %>
60               <% if current_obj.runtime_constraints.andand[:docker_image] and current_obj.docker_image %>
61                 <tr>
62                   <td style="padding-right: 1em">
63                     docker_image:
64                   </td>
65                   <td>
66                     <%= current_obj.runtime_constraints[:docker_image] %>
67                   </td>
68                 </tr>
69                 <tr>
70                   <td style="padding-right: 1em">
71                     docker_image_locator:
72                   </td>
73                   <td>
74                     <%= link_to_arvados_object_if_readable(current_obj.docker_image,
75                       current_obj.docker_image, friendly_name: true) %>
76                   </td>
77                 </tr>
78               <% end %>
79             </table>
80           </div>
81         </div>
82         <% unless current_obj.parameters.nil? %>
83         <div class="row">
84           <div class="col-md-6">
85             <p>script_parameters:</p>
86             <pre><%= JSON.pretty_generate(current_obj.parameters) rescue nil %></pre>
87           </div>
88         </div>
89         <% end %>
90       </div>
91     </div>