X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d8c56aa6534d87105201372cd5f9f965a8246ea4..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 62e513db09..f24a77ad1f 100644 --- a/apps/workbench/app/controllers/collections_controller.rb +++ b/apps/workbench/app/controllers/collections_controller.rb @@ -2,6 +2,9 @@ class CollectionsController < ApplicationController skip_before_filter :find_object_by_uuid, :only => [:provenance] skip_before_filter :check_user_agreements, :only => [:show_file] + def show_pane_list + %w(Files Attributes Metadata Provenance_graph Used_by JSON API) + end def index if params[:search].andand.length.andand > 0 tags = Link.where(any: ['contains', params[:search]]) @@ -9,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: [], @@ -28,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 @@ -89,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| @@ -97,9 +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} + 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