mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 21:00:39 +08:00
Add grouped navigation tabs legacy handler
This commit is contained in:
parent
0b575752b5
commit
bab8ce3390
2 changed files with 73 additions and 0 deletions
|
@ -4,6 +4,7 @@ namespace SuiteCRM\Core\Legacy;
|
||||||
|
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use TabController;
|
use TabController;
|
||||||
|
use GroupedTabStructure;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Navbar
|
* Class Navbar
|
||||||
|
@ -26,6 +27,19 @@ class Navbar extends LegacyHandler
|
||||||
throw new RuntimeException('Running legacy entry point failed');
|
throw new RuntimeException('Running legacy entry point failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getGroupedNavTabs(): array
|
||||||
|
{
|
||||||
|
if ($this->runLegacyEntryPoint()) {
|
||||||
|
global $moduleList;
|
||||||
|
require LEGACY_PATH . 'include/GroupedTabs/GroupedTabStructure.php';
|
||||||
|
|
||||||
|
return (new GroupedTabStructure())->get_tab_structure($moduleList);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new RuntimeException('Running legacy entry point failed');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -103,4 +103,63 @@ final class NavbarTest extends TestCase
|
||||||
$this->navbar->getNonGroupedNavTabs()
|
$this->navbar->getNonGroupedNavTabs()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGroupNavTabs(): void
|
||||||
|
{
|
||||||
|
$expected = [
|
||||||
|
'Sales' => [
|
||||||
|
'modules' => [
|
||||||
|
'Home' => 'Home',
|
||||||
|
'Accounts' => 'Accounts',
|
||||||
|
'Contacts' => 'Contacts',
|
||||||
|
'Opportunities' => 'Opportunities',
|
||||||
|
'Leads' => 'Leads'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'Marketing' => [
|
||||||
|
'modules' => [
|
||||||
|
'Home' => 'Home',
|
||||||
|
'Accounts' => 'Accounts',
|
||||||
|
'Contacts' => 'Contacts',
|
||||||
|
'Leads' => 'Leads',
|
||||||
|
'Campaigns' => 'Campaigns',
|
||||||
|
'Prospects' => 'Targets',
|
||||||
|
'ProspectLists' => 'Targets - Lists'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'Support' => [
|
||||||
|
'modules' => [
|
||||||
|
'Home' => 'Home',
|
||||||
|
'Accounts' => 'Accounts',
|
||||||
|
'Contacts' => 'Contacts',
|
||||||
|
'Cases' => 'Cases',
|
||||||
|
'Bugs' => 'Bugs'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'Activities' => [
|
||||||
|
'modules' => [
|
||||||
|
'Home' => 'Home',
|
||||||
|
'Calendar' => 'Calendar',
|
||||||
|
'Calls' => 'Calls',
|
||||||
|
'Meetings' => 'Meetings',
|
||||||
|
'Emails' => 'Emails',
|
||||||
|
'Tasks' => 'Tasks',
|
||||||
|
'Notes' => 'Notes'
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'Collaboration' => [
|
||||||
|
'modules' => [
|
||||||
|
'Home' => 'Home',
|
||||||
|
'Emails' => 'Emails',
|
||||||
|
'Documents' => 'Documents',
|
||||||
|
'Project' => 'Projects'
|
||||||
|
]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->assertSame(
|
||||||
|
$expected,
|
||||||
|
$this->navbar->getGroupedNavTabs()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue