public function __construct(WebspaceManagerInterface $webspaceManager, SecurityCheckerInterface $securityChecker, SessionManagerInterface $sessionManager, $title)
{
$this->webspaceManager = $webspaceManager;
$this->securityChecker = $securityChecker;
$this->sessionManager = $sessionManager;
$rootNavigationItem = new NavigationItem($title);
$section = new NavigationItem('navigation.webspaces');
$rootNavigationItem->addChild($section);
/** @var Webspace $webspace */
foreach ($this->webspaceManager->getWebspaceCollection() as $webspace) {
if ($this->securityChecker->hasPermission(self::SECURITY_CONTEXT_PREFIX . $webspace->getKey(), 'view')) {
$webspaceItem = new NavigationItem($webspace->getName());
$webspaceItem->setIcon('bullseye');
$indexUuid = $this->sessionManager->getContentNode($webspace->getKey())->getIdentifier();
$indexPageItem = new NavigationItem('navigation.webspaces.index-page');
$indexPageItem->setAction('content/contents/' . $webspace->getKey() . '/edit:' . $indexUuid . '/details');
$webspaceItem->addChild($indexPageItem);
$contentItem = new NavigationItem('navigation.webspaces.content');
$contentItem->setAction('content/contents/' . $webspace->getKey());
$webspaceItem->addChild($contentItem);
$section->addChild($webspaceItem);
}
}
$this->setNavigation(new Navigation($rootNavigationItem));
}