X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2ecdb027a8866550d923c702fbbef888b76e6702..3aaefcb3c76ff470b475d950398d01255e87712a:/apps/workbench/app/models/link.rb diff --git a/apps/workbench/app/models/link.rb b/apps/workbench/app/models/link.rb index 07de447870..920b4bdcc5 100644 --- a/apps/workbench/app/models/link.rb +++ b/apps/workbench/app/models/link.rb @@ -1,11 +1,29 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + class Link < ArvadosBase attr_accessor :head attr_accessor :tail def self.by_tail(t, opts={}) - where(opts.merge :tail_kind => t.kind, :tail_uuid => t.uuid) + where(opts.merge :tail_uuid => t.uuid) + end + + def default_name + self.class.resource_class_for_uuid(head_uuid).default_name rescue super + end + + def self.permissions_for(thing) + if thing.respond_to? :uuid + uuid = thing.uuid + else + uuid = thing + end + result = arvados_api_client.api("permissions", "/#{uuid}") + arvados_api_client.unpack_api_response(result) end - def friendly_link_name - "(#{link_class}) #{tail_kind.sub 'arvados#', ' '} #{name} #{head_kind.sub 'arvados#', ' '}" + def self.creatable? + false end end