X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/09e3c7102376790a2a6bebb0c77f43fa271f6d74..28b6afc1e8ccf652c7a8fd43e22a8ac788febd85:/apps/workbench/app/controllers/search_controller.rb diff --git a/apps/workbench/app/controllers/search_controller.rb b/apps/workbench/app/controllers/search_controller.rb index 31c66638db..80f3ff117a 100644 --- a/apps/workbench/app/controllers/search_controller.rb +++ b/apps/workbench/app/controllers/search_controller.rb @@ -1,4 +1,10 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + class SearchController < ApplicationController + skip_before_action :ensure_arvados_api_exists + def find_objects_for_index search_what = Group if params[:project_uuid] @@ -6,16 +12,27 @@ class SearchController < ApplicationController @filters = @filters.select do |attr, operator, operand| not (attr == 'owner_uuid' and operator == '=') end - search_what = Group.find(params[:project_uuid]) + # Special case for project_uuid is a user uuid: + if ArvadosBase::resource_class_for_uuid(params[:project_uuid]) == User + search_what = User.find params[:project_uuid] + else + search_what = Group.find params[:project_uuid] + end end @objects = search_what.contents(limit: @limit, offset: @offset, - filters: @filters, - include_linked: true) + recursive: true, + count: 'none', + last_object_class: params["last_object_class"], + filters: @filters) super end def next_page_href with_params={} - super with_params.merge(last_object_class: @objects.last.class.to_s) + super with_params.merge(last_object_class: @objects.last.class.to_s, + project_uuid: params[:project_uuid], + recursive: true, + count: 'none', + filters: @filters.to_json) end end