From 64ca3d89da7e9f23b1ecb3d69b7cee53ad554069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be> Date: Mon, 13 May 2019 10:19:49 +0200 Subject: [PATCH] :ambulance: fix(core) Fix subtabs attribute ACL search Will be used by servicesManagement so that dashboard can search for services attribute without crash. issue #5967 --- include/class_config.inc | 2 +- include/class_userinfo.inc | 8 +++++--- plugins/config/class_pluginsConfigInLdap.inc | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/include/class_config.inc b/include/class_config.inc index 3ed86da24..964b66a01 100644 --- a/include/class_config.inc +++ b/include/class_config.inc @@ -895,7 +895,7 @@ class config if (isset($plInfo['plObjectType'])) { $entry = ['CLASS' => $class,'NAME' => $plInfo['plShortName']]; if (isset($plInfo['plSubTabs'])) { - $entry['SUBTABS'] = strtoupper($plInfo['plSubTabs']).'TABS'; + $entry['SUBTABS'] = strtoupper($plInfo['plSubTabs']); } foreach ($plInfo['plObjectType'] as $key => $value) { if (is_numeric($key)) { diff --git a/include/class_userinfo.inc b/include/class_userinfo.inc index 87209594a..5579feb9e 100644 --- a/include/class_userinfo.inc +++ b/include/class_userinfo.inc @@ -1019,21 +1019,23 @@ class userinfo if (is_array($type)) { /* Used for recursion through subtabs */ - $tabs = $type; + $prefix = ''; + $tabs = $type; } else { /* Usual workflow */ $infos = objects::infos($type); + $prefix = $infos['aclCategory'].'/'; $tabs = $config->data['TABS'][$infos['tabGroup']]; } foreach ($tabs as $tab) { $acls = pluglist::pluginInfos($tab['CLASS'])['plProvidedAcls']; if (isset($acls[$attribute])) { - return $infos['aclCategory'].'/'.$tab['CLASS']; + return $prefix.$tab['CLASS']; } if (isset($tab['SUBTABS'])) { $acl = $this->getAttributeCategory($config->data['TABS'][$tab['SUBTABS']], $attribute); if ($acl !== FALSE) { - return $acl; + return $prefix.$acl; } } } diff --git a/plugins/config/class_pluginsConfigInLdap.inc b/plugins/config/class_pluginsConfigInLdap.inc index 6535b3bc6..da098e04c 100644 --- a/plugins/config/class_pluginsConfigInLdap.inc +++ b/plugins/config/class_pluginsConfigInLdap.inc @@ -29,7 +29,7 @@ class pluginsConfigInLdap extends multiPlugin 'plDescription' => _('Configuration for plugins'), 'plPriority' => 2, 'plObjectType' => ['configuration'], - 'plSubTabs' => 'smallConfig', + 'plSubTabs' => 'SMALLCONFIGTABS', 'plProvidedAcls' => [] ]; -- GitLab