From b2df8192f78ab899c3a83931df749c184331b07a Mon Sep 17 00:00:00 2001 From: Sami Mokaddem Date: Tue, 12 Sep 2023 14:31:03 +0200 Subject: [PATCH] fix: [OrgGroups:checkIfGroupAdmin] Consider site_admins as group admin --- src/Controller/Component/ACLComponent.php | 4 ++-- src/Model/Table/OrgGroupsTable.php | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Controller/Component/ACLComponent.php b/src/Controller/Component/ACLComponent.php index 2f021ce..52c8b07 100644 --- a/src/Controller/Component/ACLComponent.php +++ b/src/Controller/Component/ACLComponent.php @@ -175,8 +175,8 @@ class ACLComponent extends Component 'listOrgs' => ['*'], 'assignAdmin' => ['perm_admin'], 'removeAdmin' => ['perm_admin'], - 'attachOrg' => ['perm_group_admin'], - 'detachOrg' => ['perm_group_admin'] + 'attachOrg' => ['perm_admin', 'perm_group_admin'], + 'detachOrg' => ['perm_admin', 'perm_group_admin'] ], 'Organisations' => [ 'add' => ['perm_admin'], diff --git a/src/Model/Table/OrgGroupsTable.php b/src/Model/Table/OrgGroupsTable.php index 13ee4c5..e685f23 100644 --- a/src/Model/Table/OrgGroupsTable.php +++ b/src/Model/Table/OrgGroupsTable.php @@ -37,6 +37,9 @@ class OrgGroupsTable extends AppTable public function checkIfGroupAdmin(int $groupId, User $user): bool { + if (!empty($user['role']['perm_admin'])) { + return true; + } $orgGroup = $this->get($groupId, ['contain' => 'Users']); if (empty($orgGroup)) { return false;