From 21d69002d00526d3d936ac76c5623d7fa015d934 Mon Sep 17 00:00:00 2001 From: "Marco A. Nina Mena" Date: Wed, 20 Mar 2024 10:37:07 -0400 Subject: [PATCH] Review permissions of groups --- ProcessMaker/Traits/HasAuthorization.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ProcessMaker/Traits/HasAuthorization.php b/ProcessMaker/Traits/HasAuthorization.php index a3301e6499..61902b4b0f 100644 --- a/ProcessMaker/Traits/HasAuthorization.php +++ b/ProcessMaker/Traits/HasAuthorization.php @@ -32,6 +32,7 @@ public function loadGroupPermissions() foreach ($this->groupMembersFromMemberable as $gm) { $group = $gm->group; + $permissions = $this->loadPermissionOfGroups($group, $permissions); $names = $group->permissions->pluck('name')->toArray(); $permissions = array_merge($permissions, $names); } @@ -39,6 +40,17 @@ public function loadGroupPermissions() return $this->addCategoryViewPermissions($permissions); } + public function loadPermissionOfGroups(Group $group, array $permissions = []) + { + foreach ($group->groupMembersFromMemberable as $member) { + $group = $member->group; + $permissions = $this->loadPermissionOfGroups($group, $permissions); + $permissions = array_merge($permissions, $group->permissions->pluck('name')->toArray()); + } + + return $permissions; + } + public function hasPermission($permissionString) { if (\Auth::user() == $this) {