Merge branch 'master' into 5417-not-start-pipeline-with-unreadable-inputs
[arvados.git] / apps / workbench / app / helpers / provenance_helper.rb
index 89d9ee6ceb2ddefebc499aa9f4ba0d5bac570172..a4723a3ec16848d4eb2cd46dab2ea61d783a2bef 100644 (file)
@@ -133,7 +133,10 @@ module ProvenanceHelper
         gr += edge(uuid, job[:output], {label: "output" })
       end
 
-      gr += edge(uuid, job[:log], {label: "log"}) if job[:log] and !edge_opts[:no_log]
+      if job[:log] and !edge_opts[:no_log]
+        gr += describe_node(job[:log])
+        gr += edge(uuid, job[:log], {label: "log"})
+      end
 
       gr
     end
@@ -218,7 +221,7 @@ module ProvenanceHelper
 
         label = "#{v[0][:script]}"
 
-        if label == "run-command"
+        if label == "run-command" and v[0][:script_parameters][:command].is_a? Array
           label = v[0][:script_parameters][:command].join(' ')
         end
 
@@ -234,7 +237,7 @@ module ProvenanceHelper
     end
 
     def encode_quotes value
-      value.andand.to_s.gsub("\"", "\\\"").gsub("\n", "\\n")
+      value.to_s.gsub("\"", "\\\"").gsub("\n", "\\n")
     end
   end
 
@@ -301,7 +304,9 @@ edge [fontsize=10,fontname=\"Helvetica,Arial,sans-serif\"];
     svg = svg.sub(/<svg /, "<svg id=\"#{svgId}\" ")
   end
 
-  # returns hash, uuid
+  # yields hash, uuid
+  # Position indicates whether it is a content hash or arvados uuid.
+  # One will hold a value, the other will always be nil.
   def self.find_collections(sp, key=nil, &b)
     case sp
     when ArvadosBase