X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c3b26754a231ec909506f2ff28af1af9f2e27f2b..42c20b25e1325124b88e3b9b285544dc41122b56:/apps/workbench/app/models/container_work_unit.rb diff --git a/apps/workbench/app/models/container_work_unit.rb b/apps/workbench/app/models/container_work_unit.rb index ef20a7f8f4..292bc3679b 100644 --- a/apps/workbench/app/models/container_work_unit.rb +++ b/apps/workbench/app/models/container_work_unit.rb @@ -14,6 +14,7 @@ class ContainerWorkUnit < ProxyWorkUnit @container = Container.find(container_uuid) end end + @container = nil if !defined?(@container) @child_proxies = child_objects end @@ -24,11 +25,11 @@ class ContainerWorkUnit < ProxyWorkUnit container_uuid = if @proxied.is_a?(Container) then uuid else get(:container_uuid) end if container_uuid cols = ContainerRequest.columns.map(&:name) - %w(id updated_at mounts secret_mounts runtime_token) - my_children = @child_proxies || ContainerRequest.select(cols).where(requesting_container_uuid: container_uuid).results if !my_children + my_children = @child_proxies || ContainerRequest.select(cols).where(requesting_container_uuid: container_uuid).with_count("none").results if !my_children my_child_containers = my_children.map(&:container_uuid).compact.uniq grandchildren = {} my_child_containers.each { |c| grandchildren[c] = []} if my_child_containers.any? - reqs = ContainerRequest.select(cols).where(requesting_container_uuid: my_child_containers).results if my_child_containers.any? + reqs = ContainerRequest.select(cols).where(requesting_container_uuid: my_child_containers).order(["requesting_container_uuid", "uuid"]).with_count("none").results if my_child_containers.any? reqs.each {|cr| grandchildren[cr.requesting_container_uuid] << cr} if reqs my_children.each do |cr|