X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0c0bdf1c00e1f0a50bc5977f171ae1ac720c79bb..ea7c6effed14cd80a444c6e4d5b89c8b99c17d59:/apps/workbench/app/controllers/collections_controller.rb diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb index c6a7eafafd..f24a77ad1f 100644 --- a/apps/workbench/app/controllers/collections_controller.rb +++ b/apps/workbench/app/controllers/collections_controller.rb @@ -3,7 +3,7 @@ class CollectionsController < ApplicationController skip_before_filter :check_user_agreements, :only => [:show_file] def show_pane_list - %w(files attributes provenance provenance_graph used_by) + %w(Files Attributes Metadata Provenance_graph Used_by JSON API) end def index if params[:search].andand.length.andand > 0 @@ -12,14 +12,26 @@ class CollectionsController < ApplicationController Collection.where(any: ['contains', params[:search]])). uniq { |c| c.uuid } else - @collections = Collection.limit(100) + if params[:limit] + limit = params[:limit].to_i + else + limit = 100 + end + + if params[:offset] + offset = params[:offset].to_i + else + offset = 0 + end + + @collections = Collection.limit(limit).offset(offset) end @links = Link.limit(1000). where(head_uuid: @collections.collect(&:uuid)) @collection_info = {} @collections.each do |c| @collection_info[c.uuid] = { - tags: [], + tag_links: [], wanted: false, wanted_by_me: false, provenance: [], @@ -31,7 +43,7 @@ class CollectionsController < ApplicationController info = @collection_info[link.head_uuid] case link.link_class when 'tag' - info[:tags] << link.name + info[:tag_links] << link when 'resources' info[:wanted] = true info[:wanted_by_me] ||= link.tail_uuid == current_user.uuid @@ -92,7 +104,7 @@ class CollectionsController < ApplicationController Link.where(tail_uuid: @sourcedata.keys).each do |link| if link.link_class == 'data_origin' @sourcedata[link.tail_uuid][:data_origins] ||= [] - @sourcedata[link.tail_uuid][:data_origins] << [link.name, link.head_kind, link.head_uuid] + @sourcedata[link.tail_uuid][:data_origins] << [link.name, link.head_uuid] end end Collection.where(uuid: @sourcedata.keys).each do |collection| @@ -100,10 +112,18 @@ 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} - @used_by_svg = ProvenanceHelper::create_provenance_graph u.used_by, "used_by_svg", {:direction => :top_down, :combine_jobs => :script_only, :pdata_only => true} + puts request + @prov_svg = ProvenanceHelper::create_provenance_graph(u.provenance, "provenance_svg", + {:request => request, + :direction => :bottom_up, + :combine_jobs => :script_only}) rescue nil + @used_by_svg = ProvenanceHelper::create_provenance_graph(u.used_by, "used_by_svg", + {:request => request, + :direction => :top_down, + :combine_jobs => :script_only, + :pdata_only => true}) rescue nil end end