Neos.Neos/Classes/Controller/Module/Management/WorkspacesController.php
public function indexAction()
    {
        $currentAccount = $this->securityContext->getAccount();
        $userWorkspace = $this->workspaceRepository->findOneByName(UserUtility::getPersonalWorkspaceNameForUsername($currentAccount->getAccountIdentifier()));
        /** @var Workspace $userWorkspace */

        $workspacesAndCounts = [
            $userWorkspace->getName() => [
                'workspace' => $userWorkspace,
                'changesCounts' => $this->computeChangesCount($userWorkspace),
                'canPublish' => false,
                'canManage' => false,
                'canDelete' => false
            ]
        ];

        foreach ($this->workspaceRepository->findAll() as $workspace) {
            /** @var Workspace $workspace */
            // FIXME: This check should be implemented through a specialized Workspace Privilege or something similar
            if (!$workspace->isPersonalWorkspace() && ($workspace->isInternalWorkspace() || $this->userService->currentUserCanManageWorkspace($workspace))) {
                $workspacesAndCounts[$workspace->getName()]['workspace'] = $workspace;
                $workspacesAndCounts[$workspace->getName()]['changesCounts'] = $this->computeChangesCount($workspace);
                $workspacesAndCounts[$workspace->getName()]['canPublish'] = $this->userService->currentUserCanPublishToWorkspace($workspace);
                $workspacesAndCounts[$workspace->getName()]['canManage'] = $this->userService->currentUserCanManageWorkspace($workspace);
                $workspacesAndCounts[$workspace->getName()]['dependentWorkspacesCount'] = count($this->workspaceRepository->findByBaseWorkspace($workspace));
            }
        }

        $this->view->assign('userWorkspace', $userWorkspace);
        $this->view->assign('workspacesAndChangeCounts', $workspacesAndCounts);
    }
public function indexAction()
    {
        $currentAccount = $this->securityContext->getAccount();
        $userWorkspace = $this->workspaceRepository->findOneByName(UserUtility::getPersonalWorkspaceNameForUsername($currentAccount->getAccountIdentifier()));
        /** @var Workspace $userWorkspace */

        $workspacesAndCounts = [
            $userWorkspace->getName() => [
                'workspace' => $userWorkspace,
                'changesCounts' => $this->computeChangesCount($userWorkspace),
                'canPublish' => false,
                'canManage' => false,
                'canDelete' => false
            ]
        ];

        foreach ($this->workspaceRepository->findAll() as $workspace) {
            /** @var Workspace $workspace */
            // FIXME: This check should be implemented through a specialized Workspace Privilege or something similar
            if (!$workspace->isPersonalWorkspace() && ($workspace->isInternalWorkspace() || $this->userService->currentUserCanManageWorkspace($workspace))) {
                $workspacesAndCounts[$workspace->getName()]['workspace'] = $workspace;
                $workspacesAndCounts[$workspace->getName()]['changesCounts'] = $this->computeChangesCount($workspace);
                $workspacesAndCounts[$workspace->getName()]['canPublish'] = $this->userService->currentUserCanPublishToWorkspace($workspace);
                $workspacesAndCounts[$workspace->getName()]['canManage'] = $this->userService->currentUserCanManageWorkspace($workspace);
                $workspacesAndCounts[$workspace->getName()]['dependentWorkspacesCount'] = count($this->workspaceRepository->findByBaseWorkspace($workspace));
            }
        }

        $this->view->assign('userWorkspace', $userWorkspace);
        $this->view->assign('workspacesAndChangeCounts', $workspacesAndCounts);
    }
public function indexAction ( ) { $ currentAccount = $ this -> securityContext -> getAccount ( ) ; $ userWorkspace = $ this -> workspaceRepository -> findOneByName ( UserUtility :: getPersonalWorkspaceNameForUsername ( $ currentAccount -> getAccountIdentifier ( ) ) ) ; /** @var Workspace $userWorkspace */ $ workspacesAndCounts = [ $ userWorkspace -> getName ( ) => [ 'workspace' => $ userWorkspace , 'changesCounts' => $ this -> computeChangesCount ( $ userWorkspace ) , 'canPublish' => false , 'canManage' => false , 'canDelete' => false ] ] ; foreach ( $ this -> workspaceRepository -> findAll ( ) as $ workspace ) { /** @var Workspace $workspace */ // FIXME: This check should be implemented through a specialized Workspace Privilege or something similar if ( ! $ workspace -> isPersonalWorkspace ( ) && ( $ workspace -> isInternalWorkspace ( ) || $ this -> userService -> currentUserCanManageWorkspace ( $ workspace ) ) ) { $ workspacesAndCounts [ $ workspace -> getName ( ) ] [ 'workspace' ] = $ workspace ; $ workspacesAndCounts [ $ workspace -> getName ( ) ] [ 'changesCounts' ] = $ this -> computeChangesCount ( $ workspace ) ; $ workspacesAndCounts [ $ workspace -> getName ( ) ] [ 'canPublish' ] = $ this -> userService -> currentUserCanPublishToWorkspace ( $ workspace ) ; $ workspacesAndCounts [ $ workspace -> getName ( ) ] [ 'canManage' ] = $ this -> userService -> currentUserCanManageWorkspace ( $ workspace ) ; $ workspacesAndCounts [ $ workspace -> getName ( ) ] [ 'dependentWorkspacesCount' ] = count ( $ this -> workspaceRepository -> findByBaseWorkspace ( $ workspace ) ) ; } } $ this -> view -> assign ( 'userWorkspace' , $ userWorkspace ) ; $ this -> view -> assign ( 'workspacesAndChangeCounts' , $ workspacesAndCounts ) ; }
Display a list of unpublished content

@return void
Display a list of unpublished content