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. 11.x 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.