From 6b4e12c7c55e7b3bec69f7ac9a77eabedc95e517 Mon Sep 17 00:00:00 2001 From: Denis Chenu Date: Tue, 16 Mar 2021 09:09:44 +0100 Subject: [PATCH] Fixed issue #17185: Template permissions deleted when editing global permissions Dev: template didn't have entity_id --- application/controllers/UserManagementController.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/application/controllers/UserManagementController.php b/application/controllers/UserManagementController.php index 85dbd7a6693..bc209e9cae7 100644 --- a/application/controllers/UserManagementController.php +++ b/application/controllers/UserManagementController.php @@ -1455,11 +1455,15 @@ public function generateAdminCreationEmail($fullname, $username, $password, $iNe */ protected function applyPermissionFromArray($iUserId, $aPermissionArray) { + //Delete all current Permissions $oCriteria = new CDbCriteria(); $oCriteria->compare('uid', $iUserId); + // without entity $oCriteria->compare('entity_id', 0); - //Delete all Permissions without entity. + // except for template entity (no entity_id is set here) + $oCriteria->compare('entity', "<>template"); Permission::model()->deleteAll($oCriteria); + $results = []; //Apply the permission array foreach ($aPermissionArray as $sPermissionKey => $aPermissionSettings) {