Merge branch '1976-pipeline-progress'
[arvados.git] / apps / workbench / app / controllers / jobs_controller.rb
1 class JobsController < ApplicationController
2
3   def generate_provenance(jobs)
4     nodes = []
5     collections = []
6     jobs.each do |j|
7       nodes << j
8       collections << j[:output]
9       collections.concat(ProvenanceHelper::find_collections(j[:script_parameters]))
10       nodes << {:uuid => j[:script_version]}
11     end
12
13     Collection.where(uuid: collections).each do |c|
14       nodes << c
15     end
16
17     @svg = ProvenanceHelper::create_provenance_graph nodes, "provenance_svg", {:all_script_parameters => true, :script_version_nodes => true}
18   end
19
20   def index
21     @svg = ""
22     if params[:uuid]
23       @jobs = Job.where(uuid: params[:uuid])
24       generate_provenance(@jobs)
25     else
26       @jobs = Job.all
27     end
28   end
29
30   def show
31     generate_provenance([@object])
32   end
33 end