10945: show jobs in which this job is used in job#show page.
[arvados.git] / apps / workbench / app / views / jobs / _show_status.html.erb
1 <%= render(partial: 'work_units/show_status', locals: {current_obj: @object, name: @object[:name] || 'this job'}) %>
2
3 <div class="panel panel-default">
4   <div class="panel-heading">
5     <span class="panel-title">Used in pipelines</span>
6   </div>
7   <div class="panel-body used-in-pipelines">
8     <% pi = PipelineInstance.order("created_at desc").filter([["components", "like", "%#{@object.uuid}%"]]) %>
9
10     <% pi.each do |pipeline| %>
11       <% pipeline.components.each do |k, v| %>
12         <% if v[:job] and v[:job][:uuid] == @object.uuid %>
13           <div>
14             <b><%= k %></b>
15             component of
16             <%= link_to_if_arvados_object pipeline, friendly_name: true %>
17             created at
18             <%= render_localized_date(pipeline.created_at) %>.
19           </div>
20         <% end %>
21       <% end %>
22     <% end %>
23   </div>
24
25   <% jobs = Job.order("created_at desc").filter([["components", "like", "%#{@object.uuid}%"]]).limit(10) %>
26   <% if jobs.results.size > 0
27      message = "Used in the jobs"
28      if jobs.items_available > jobs.results.size
29        message += ' (' + (jobs.items_available - jobs.results.size).to_s + ' more jobs are not listed)'
30      end
31   %>
32     <div class="panel-heading">
33       <span class="panel-title"> <%= message %> </span>
34     </div>
35
36     <div class="panel-body used-in-jobs">
37     <% jobs.each do |j| %>
38       <% j.components.each do |k, v| %>
39         <% if v == @object.uuid %>
40           <div>
41             <b><%= k %></b>
42             component of
43             <%= link_to_if_arvados_object j, friendly_name: true %>
44             created at
45             <%= render_localized_date(j.created_at) %>.
46           </div>
47         <% end %>
48       <% end %>
49     <% end %>
50   <% end %>
51 </div>