protected function doSwitchWorkspace($workspace) { // If the current user doesn't have access to view the workspace, they
// shouldn't be allowed to switch to it, except in CLI processes.
if ($workspace && PHP_SAPI !== 'cli' && !
$workspace->
access('view'
)) { $this->logger->
error('Denied access to view workspace %workspace_label for user %uid',
[ '%workspace_label' =>
$workspace->
label(),
'%uid' =>
$this->currentUser->
id(),
]);
throw new WorkspaceAccessException('The user does not have permission to view that workspace.'
);
} $this->activeWorkspace =
$workspace ?: FALSE;
// Clear the static entity cache for the supported entity types.
$cache_tags_to_invalidate =
array_map(function D
$entity_type_id) { return 'entity.memory_cache:' .
$entity_type_id;
},
array_keys($this->
getSupportedEntityTypes()));
$this->entityMemoryCache->
invalidateTags($cache_tags_to_invalidate);
// Clear the static cache for path aliases. We can't inject the path alias