%# Copyright (C) The Arvados Authors. All rights reserved. SPDX-License-Identifier: AGPL-3.0 %> <% uuid_map = {} if @share_links [User, Group].each do |type| type .filter([['uuid','in',@share_links.collect(&:tail_uuid)]]) .each do |o| uuid_map[o.uuid] = o end end end perm_name_desc_map = {} perm_desc_name_map = {} perms_json = [] ['Read', 'Write', 'Manage'].each do |link_desc| link_name = "can_#{link_desc.downcase}" perm_name_desc_map[link_name] = link_desc perm_desc_name_map[link_desc] = link_name perms_json << {value: link_name, text: link_desc} end perms_json = perms_json.to_json choose_filters = { "groups" => [["group_class", "=", "role"]], } if Rails.configuration.Users.AnonymousUserToken.empty? # It would be ideal to filter out the anonymous group by UUID, # but that's not readily doable. Workbench can't generate the # UUID for a != filter, because it can't introspect the API # server's UUID prefix. And we can't say "uuid not like # %-anonymouspublic", because the API server doesn't support a # "not like" filter. choose_filters["groups"] << ["name", "!=", "Anonymous users"] end choose_filters.default = [] owner_icon = fa_icon_class_for_uuid(@object.owner_uuid) if owner_icon == "fa-users" owner_icon = "fa-folder" owner_type = "parent project" else owner_type = "owning user" end sharing_path = url_for(:controller => params['controller'], :action => 'share_with') %>
Permissions for this <%=@object.class_for_display.downcase%> are inherited from the <%= owner_type %> <%= link_to_if_arvados_object @object.owner_uuid, friendly_name: true %>.
<% if @object.is_a? Repository %>Please note that changes to git repository sharing may take up to two minutes to take effect.
<% end %>User/Group Name | Email Address | <%=@object.class_for_display%> Access | |
---|---|---|---|
<%= link_to_if_arvados_object(link.tail_uuid, link_text: link_name) %> | <%= email %> | <%= link_to perm_name_desc_map[link.name], '#', { "data-emptytext" => "Read", "data-placement" => "bottom", "data-type" => "select", "data-url" => url_for(action: "update", id: link.uuid, controller: "links", merge: true), "data-title" => "Set #{link_name}'s access level", "data-name" => "[name]", "data-pk" => {id: link.tail_uuid, key: "link"}.to_json, "data-value" => link.name, "data-clear" => false, "data-source" => perms_json, "data-tpl" => "", "class" => "editable form-control", } %> | <%= link_to( {action: 'destroy', id: link.uuid, controller: "links"}, {title: 'Revoke', class: 'btn btn-default btn-nodecorate', method: :delete, data: {confirm: "Revoke #{link_name}'s access to this #{@object.class_for_display.downcase}?", remote: true}}) do %> <% end %> |