Neos\ContentRepository\Domain\Model\Workspace::isInternalWorkspace PHP Method

isInternalWorkspace() public method

Checks if this workspace is shared across all editors
public isInternalWorkspace ( ) : boolean
return boolean
    public function isInternalWorkspace()
    {
        return $this->baseWorkspace !== null && $this->owner === null;
    }

Usage Example

 /**
  * Checks if the current user may manage the given workspace according to one the roles of the user's accounts
  *
  * In future versions, this logic may be implemented in Neos in a more generic way (for example, by means of an
  * ACL object), but for now, this method exists in order to at least centralize and encapsulate the required logic.
  *
  * @param Workspace $workspace The workspace
  * @return boolean
  */
 public function currentUserCanManageWorkspace(Workspace $workspace)
 {
     if ($workspace->isPersonalWorkspace()) {
         return false;
     }
     if ($workspace->isInternalWorkspace()) {
         return $this->privilegeManager->isPrivilegeTargetGranted('Neos.Neos:Backend.Module.Management.Workspaces.ManageInternalWorkspaces');
     }
     if ($workspace->isPrivateWorkspace() && $workspace->getOwner() === $this->getCurrentUser()) {
         return $this->privilegeManager->isPrivilegeTargetGranted('Neos.Neos:Backend.Module.Management.Workspaces.ManageOwnWorkspaces');
     }
     if ($workspace->isPrivateWorkspace() && $workspace->getOwner() !== $this->getCurrentUser()) {
         return $this->privilegeManager->isPrivilegeTargetGranted('Neos.Neos:Backend.Module.Management.Workspaces.ManageAllPrivateWorkspaces');
     }
     return false;
 }