Unverified Commit 64ca3d89 authored by Côme Chilliet's avatar Côme Chilliet
Browse files

: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
Showing with 7 additions and 5 deletions
+7 -5
...@@ -895,7 +895,7 @@ class config ...@@ -895,7 +895,7 @@ class config
if (isset($plInfo['plObjectType'])) { if (isset($plInfo['plObjectType'])) {
$entry = ['CLASS' => $class,'NAME' => $plInfo['plShortName']]; $entry = ['CLASS' => $class,'NAME' => $plInfo['plShortName']];
if (isset($plInfo['plSubTabs'])) { if (isset($plInfo['plSubTabs'])) {
$entry['SUBTABS'] = strtoupper($plInfo['plSubTabs']).'TABS'; $entry['SUBTABS'] = strtoupper($plInfo['plSubTabs']);
} }
foreach ($plInfo['plObjectType'] as $key => $value) { foreach ($plInfo['plObjectType'] as $key => $value) {
if (is_numeric($key)) { if (is_numeric($key)) {
......
...@@ -1019,21 +1019,23 @@ class userinfo ...@@ -1019,21 +1019,23 @@ class userinfo
if (is_array($type)) { if (is_array($type)) {
/* Used for recursion through subtabs */ /* Used for recursion through subtabs */
$tabs = $type; $prefix = '';
$tabs = $type;
} else { } else {
/* Usual workflow */ /* Usual workflow */
$infos = objects::infos($type); $infos = objects::infos($type);
$prefix = $infos['aclCategory'].'/';
$tabs = $config->data['TABS'][$infos['tabGroup']]; $tabs = $config->data['TABS'][$infos['tabGroup']];
} }
foreach ($tabs as $tab) { foreach ($tabs as $tab) {
$acls = pluglist::pluginInfos($tab['CLASS'])['plProvidedAcls']; $acls = pluglist::pluginInfos($tab['CLASS'])['plProvidedAcls'];
if (isset($acls[$attribute])) { if (isset($acls[$attribute])) {
return $infos['aclCategory'].'/'.$tab['CLASS']; return $prefix.$tab['CLASS'];
} }
if (isset($tab['SUBTABS'])) { if (isset($tab['SUBTABS'])) {
$acl = $this->getAttributeCategory($config->data['TABS'][$tab['SUBTABS']], $attribute); $acl = $this->getAttributeCategory($config->data['TABS'][$tab['SUBTABS']], $attribute);
if ($acl !== FALSE) { if ($acl !== FALSE) {
return $acl; return $prefix.$acl;
} }
} }
} }
......
...@@ -29,7 +29,7 @@ class pluginsConfigInLdap extends multiPlugin ...@@ -29,7 +29,7 @@ class pluginsConfigInLdap extends multiPlugin
'plDescription' => _('Configuration for plugins'), 'plDescription' => _('Configuration for plugins'),
'plPriority' => 2, 'plPriority' => 2,
'plObjectType' => ['configuration'], 'plObjectType' => ['configuration'],
'plSubTabs' => 'smallConfig', 'plSubTabs' => 'SMALLCONFIGTABS',
'plProvidedAcls' => [] 'plProvidedAcls' => []
]; ];
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment