/** * Constructor. */ public function __construct(HomeTabConfig $htc) { $workspace = $htc->getWorkspace(); $homeTab = $htc->getHomeTab(); $details = []; $details['tabId'] = $homeTab->getId(); $details['tabName'] = $homeTab->getName(); $details['tabType'] = $homeTab->getType(); $details['tabIcon'] = $homeTab->getIcon(); $details['configId'] = $htc->getId(); $details['type'] = $htc->getType(); $details['locked'] = $htc->isLocked(); $details['visible'] = $htc->isVisible(); $details['tabOrder'] = $htc->getTabOrder(); $details['details'] = $htc->getDetails(); $details['workspaceId'] = $workspace->getId(); $details['workspaceCode'] = $workspace->getCode(); $details['workspaceName'] = $workspace->getName(); $details['workspaceGuid'] = $workspace->getGuid(); parent::__construct(self::ACTION, $details, null, null, null, null, $workspace); }
private function checkAdminHomeTabConfig(HomeTabConfig $homeTabConfig, $homeTabType) { if (!is_null($homeTabConfig->getUser()) || !is_null($homeTabConfig->getWorkspace()) || $homeTabConfig->getType() !== 'admin_' . $homeTabType) { throw new AccessDeniedException(); } }
/** * @EXT\Route( * "/api/workspace/home/tab/{homeTabConfig}/next/{nextHomeTabConfigId}/reorder", * name="api_post_workspace_home_tab_config_reorder", * options = {"expose"=true} * ) * @EXT\Method("POST") * * Update workspace HomeTabConfig order * * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function postAdminHomeTabConfigReorderAction(HomeTabConfig $homeTabConfig, $nextHomeTabConfigId) { $workspace = $homeTabConfig->getWorkspace(); $this->checkToolEditionAccess($workspace); $homeTab = $homeTabConfig->getHomeTab(); $this->checkWorkspaceHomeTab($workspace, $homeTab); $this->homeTabManager->reorderWorkspaceHomeTabConfigs($workspace, $homeTabConfig, $nextHomeTabConfigId); return new JsonResponse('success', 200); }