From c7e3f118927c5dfdab8bec23de24bbdeee5e2dd1 Mon Sep 17 00:00:00 2001 From: liyuchun Date: Mon, 18 Oct 2021 11:27:01 +0800 Subject: [PATCH] * Fix bug #15541. --- module/group/model.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/module/group/model.php b/module/group/model.php index db27dc620c..32f14009c9 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -381,10 +381,11 @@ class groupModel extends model /* Update whitelist. */ $this->loadModel('personnel'); - $users = $this->getUserPairs($groupID); - $users = array_keys($users); + $users = $this->getUserPairs($groupID); + $users = array_keys($users); + $objectTypes = array_reverse($this->config->group->acl->objectTypes); //Adjust the order of object types, because execution is subordinate to the whitelist of projects, as well as products to programs. - foreach($this->config->group->acl->objectTypes as $key => $objectType) + foreach($objectTypes as $key => $objectType) { $oldAcls = isset($oldGroup->acl[$key]) ? $oldGroup->acl[$key] : array(); $newAcls = isset($actions[$key]) ? $actions[$key] : array(); @@ -456,7 +457,9 @@ class groupModel extends model $acl = json_decode($acl); $this->loadModel('personnel'); - foreach($this->config->group->acl->objectTypes as $key => $objectType) + $objectTypes = array_reverse($this->config->group->acl->objectTypes); //Adjust the order of object types, because execution is subordinate to the whitelist of projects, as well as products to programs. + + foreach($objectTypes as $key => $objectType) { if(!isset($acl->{$key})) continue; foreach($acl->{$key} as $objectID)