Merge branch 'master' into 3296-user-profile
[arvados.git] / apps / workbench / app / controllers / jobs_controller.rb
index be9fe03bf53c0b9955705f067c265014c6b8df12..b3204bf64e8d52cd3aa9d31315e0129225ef339d 100644 (file)
@@ -1,6 +1,8 @@
 class JobsController < ApplicationController
 
   def generate_provenance(jobs)
+    return if params['tab_pane'] != "Provenance"
+
     nodes = []
     collections = []
     jobs.each do |j|
@@ -14,32 +16,43 @@ class JobsController < ApplicationController
       nodes << c
     end
 
-    @svg = ProvenanceHelper::create_provenance_graph nodes, "provenance_svg", {:all_script_parameters => true, :script_version_nodes => true}
+    @svg = ProvenanceHelper::create_provenance_graph nodes, "provenance_svg", {
+      :request => request,
+      :all_script_parameters => true,
+      :script_version_nodes => true}
   end
 
   def index
     @svg = ""
     if params[:uuid]
-      @jobs = Job.where(uuid: params[:uuid])
-      generate_provenance(@jobs)
+      @objects = Job.where(uuid: params[:uuid])
+      generate_provenance(@objects)
+      render_index
     else
-      @jobs = Job.all
+      @limit = 20
+      super
     end
   end
 
+  def cancel
+    @object.cancel
+    redirect_to @object
+  end
+
   def show
     generate_provenance([@object])
+    super
   end
 
   def index_pane_list
     if params[:uuid]
-      %w(recent provenance)
+      %w(Recent Provenance)
     else
-      %w(recent)
+      %w(Recent)
     end
   end
 
   def show_pane_list
-    %w(attributes provenance metadata json api)
+    %w(Status Log Details Provenance Advanced)
   end
 end