Issue #3192292 by amateescu, daffie: Users with the 'administer workspaces' permission can not create a workspace

merge-requests/848/head
catch 2021-01-13 12:36:05 +00:00
parent 77480bee49
commit 7df39b5d89
3 changed files with 6 additions and 2 deletions

View File

@ -50,7 +50,7 @@ class WorkspaceAccessControlHandler extends EntityAccessControlHandler {
* {@inheritdoc}
*/
protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
return AccessResult::allowedIfHasPermission($account, 'create workspace');
return AccessResult::allowedIfHasPermissions($account, ['administer workspaces', 'create workspace'], 'OR');
}
}

View File

@ -181,7 +181,7 @@ abstract class WorkspaceResourceTestBase extends EntityResourceTestBase {
return "The 'view any workspace' permission is required.";
case 'POST':
return "The 'create workspace' permission is required.";
return "The following permissions are required: 'administer workspaces' OR 'create workspace'.";
case 'PATCH':
return "The 'edit any workspace' permission is required.";

View File

@ -52,11 +52,15 @@ class WorkspaceAccessTest extends KernelTestBase {
*/
public function operationCases() {
return [
['create', 'administer workspaces'],
['create', 'create workspace'],
['view', 'administer workspaces'],
['view', 'view any workspace'],
['view', 'view own workspace'],
['update', 'administer workspaces'],
['update', 'edit any workspace'],
['update', 'edit own workspace'],
['delete', 'administer workspaces'],
['delete', 'delete any workspace'],
['delete', 'delete own workspace'],
];