function WorkspaceActivateForm::checkAccess

Same name and namespace in other branches
  1. 9 core/modules/workspaces/src/Form/WorkspaceActivateForm.php \Drupal\workspaces\Form\WorkspaceActivateForm::checkAccess()
  2. 10 core/modules/workspaces/src/Form/WorkspaceActivateForm.php \Drupal\workspaces\Form\WorkspaceActivateForm::checkAccess()

Checks access for the workspace activate form.

Parameters

\Drupal\Core\Routing\RouteMatchInterface $route_match: The route match.

Return value

\Drupal\Core\Access\AccessResult The access result.

1 string reference to 'WorkspaceActivateForm::checkAccess'
workspaces.routing.yml in core/modules/workspaces/workspaces.routing.yml
core/modules/workspaces/workspaces.routing.yml

File

core/modules/workspaces/src/Form/WorkspaceActivateForm.php, line 133

Class

WorkspaceActivateForm
Handle activation of a workspace on administrative pages.

Namespace

Drupal\workspaces\Form

Code

public function checkAccess(RouteMatchInterface $route_match) {
    
    /** @var \Drupal\workspaces\WorkspaceInterface $workspace */
    $workspace = $route_match->getParameter('workspace');
    $active_workspace = $this->workspaceManager
        ->getActiveWorkspace();
    $access = AccessResult::allowedIf(!$active_workspace || $active_workspace && $active_workspace->id() != $workspace->id())
        ->addCacheableDependency($workspace);
    return $access;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.