From 8fc0ed81ff58fed0b0f0460be030a8098f8696fa Mon Sep 17 00:00:00 2001 From: yuri Date: Thu, 18 Oct 2018 13:49:07 +0300 Subject: [PATCH] acl get level fix --- application/Espo/Core/Acl/Table.php | 9 +++++++++ application/Espo/Core/AclManager.php | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/application/Espo/Core/Acl/Table.php b/application/Espo/Core/Acl/Table.php index 8e83f1f2e0..2fd4aa9e96 100644 --- a/application/Espo/Core/Acl/Table.php +++ b/application/Espo/Core/Acl/Table.php @@ -182,6 +182,15 @@ class Table return 'no'; } + public function getHighestLevel($action) + { + if (in_array($action, $this->booleanActionList)) { + return 'yes'; + } else { + return 'all'; + } + } + private function load() { $valuePermissionLists = (object)[]; diff --git a/application/Espo/Core/AclManager.php b/application/Espo/Core/AclManager.php index 1680c6fefe..4498a2eea5 100644 --- a/application/Espo/Core/AclManager.php +++ b/application/Espo/Core/AclManager.php @@ -125,7 +125,7 @@ class AclManager public function getLevel(User $user, $scope, $action) { if ($user->isAdmin()) { - return 'all'; + return $this->getTable($user)->getHighestLevel($action); } return $this->getTable($user)->getLevel($scope, $action); }