Merge branch 'master' into 3618-column-ordering
[arvados.git] / apps / workbench / app / controllers / jobs_controller.rb
index be9fe03bf53c0b9955705f067c265014c6b8df12..40f4378544cb7c38ee659a3055874bed8f9cb533 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,47 @@ 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
+      @limit = 20
+      super
+    end
+  end
+
+  def cancel
+    @object.cancel
+    if params[:return_to]
+      redirect_to params[:return_to]
     else
-      @jobs = Job.all
+      redirect_to @object
     end
   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