Working on javascript magic to resize svg div so scrolling works nicely. Seems to...
[arvados.git] / apps / workbench / app / controllers / collections_controller.rb
index 4b79a6dcb3299a894ced6310557bc6f89702aa38..62e513db09ef1f7c47beeafa355ac337c4e1402f 100644 (file)
@@ -1,15 +1,13 @@
 class CollectionsController < ApplicationController
-  skip_before_filter :find_object_by_uuid, :only => [:graph]
+  skip_before_filter :find_object_by_uuid, :only => [:provenance]
   skip_before_filter :check_user_agreements, :only => [:show_file]
 
-  def graph
-    index
-  end
-
   def index
     if params[:search].andand.length.andand > 0
-      tags = Link.where(link_class: 'tag', any: ['contains', params[:search]])
-      @collections = Collection.where(uuid: tags.collect(&:head_uuid))
+      tags = Link.where(any: ['contains', params[:search]])
+      @collections = (Collection.where(uuid: tags.collect(&:head_uuid)) |
+                      Collection.where(any: ['contains', params[:search]])).
+        uniq { |c| c.uuid }
     else
       @collections = Collection.limit(100)
     end
@@ -39,6 +37,7 @@ class CollectionsController < ApplicationController
       end
       info[:links] << link
     end
+    @request_url = request.url
   end
 
   def show_file
@@ -53,6 +52,7 @@ class CollectionsController < ApplicationController
     self.response_body = FileStreamer.new opts
   end
 
+
   def show
     return super if !@object
     @provenance = []
@@ -97,6 +97,10 @@ class CollectionsController < ApplicationController
         @sourcedata[collection.uuid][:collection] = collection
       end
     end
+    
+    Collection.where(uuid: @object.uuid).each do |u|
+      @prov_svg = ProvenanceHelper::create_provenance_graph u.provenance, "provenance_svg", {:direction => :bottom_up, :combine_jobs => :script_only}
+    end
   end
 
   protected