mirror of
https://github.com/SuiteCRM/SuiteCRM-Core.git
synced 2025-08-29 04:21:06 +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 TabController;
|
||||
use GroupedTabStructure;
|
||||
|
||||
/**
|
||||
* Class Navbar
|
||||
|
@ -26,6 +27,19 @@ class Navbar extends LegacyHandler
|
|||
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
|
||||
*/
|
||||
|
|
|
@ -103,4 +103,63 @@ final class NavbarTest extends TestCase
|
|||
$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