X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e4c83a3ebe3b16c16f604b3b0968ce5600b7ab64..385d9ac5f47bec5c5a5fc9770c74b1a7d8dd2974:/services/api/app/models/group.rb?ds=sidebyside diff --git a/services/api/app/models/group.rb b/services/api/app/models/group.rb index e44e605b16..aa3a19bf87 100644 --- a/services/api/app/models/group.rb +++ b/services/api/app/models/group.rb @@ -54,6 +54,7 @@ class Group < ArvadosModel super.merge( 'can_write' => ['owner_uuid', 'uuid'], 'can_manage' => ['owner_uuid', 'uuid'], + 'writable_by' => ['owner_uuid', 'uuid'], ) end @@ -268,6 +269,18 @@ class Group < ArvadosModel end end + def permission_to_create + if !super + return false + elsif group_class == "role" && + !Rails.configuration.Users.CanCreateRoleGroups && + !current_user.andand.is_admin + raise PermissionDeniedError.new("this cluster does not allow users to create role groups") + else + return true + end + end + def permission_to_update if !super return false