Commit 6981785a authored by Côme Chilliet's avatar Côme Chilliet

feat(simpleplugin) Allow types with dynamic tabs to list them for ACL search

This should fix ACL search for fields of dynamic tabs of groups.

issue #6075
parent d64da26b
......@@ -965,7 +965,7 @@ class userinfo
/* Usual workflow */
$infos = objects::infos($type);
$prefix = $infos['aclCategory'].'/';
$tabs = $config->data['TABS'][$infos['tabGroup']];
$tabs = $infos['tabClass']::getPotentialTabList($type, $infos);
}
foreach ($tabs as $tab) {
$acls = pluglist::pluginInfos($tab['CLASS'])['plProvidedAcls'];
......
......@@ -136,6 +136,16 @@ class simpleTabs
}
}
/*!
* \brief Returns the list of tabs which may appear for a given object type
*/
public static function getPotentialTabList (string $type, array $infos): array
  • Remove the unused function parameter "$type". 📘

Please register or sign in to reply
{
global $config;
return $config->data['TABS'][$infos['tabGroup']];
}
/*!
* \brief Sets the active tabs from this instance to an other one. Used by templates
*/
......
......@@ -136,6 +136,24 @@ class ogrouptabs extends simpleTabs_noSpecial
return parent::gen_tabs($disabled);
}
/*!
* \brief Returns the list of tabs which may appear for a given object type
*/
public static function getPotentialTabList (string $type, array $infos): array
{
global $config;
/* prefix will be OGROUP- for ogroup */
$tabList = parent::getPotentialTabList($type, $infos);
$prefix = strtoupper($type).'-';
foreach ($config->data['TABS'] as $tabgroup => $tabs) {
if (strpos($tabgroup, $prefix) === 0) {
$tabList = array_merge($tabList, $tabs);
}
}
return $tabList;
}
/*!
* \brief Sets the active tabs from this instance to an other one. Used by templates
*/
......
  • SonarQube analysis reported 1 issue

    • 1 info

    Watch the comments in this conversation to review them.

Markdown is supported
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