function WorkflowAccessControlHandler::checkCreateAccess

Same name and namespace in other branches
  1. 8.9.x core/modules/workflows/src/WorkflowAccessControlHandler.php \Drupal\workflows\WorkflowAccessControlHandler::checkCreateAccess()
  2. 10 core/modules/workflows/src/WorkflowAccessControlHandler.php \Drupal\workflows\WorkflowAccessControlHandler::checkCreateAccess()
  3. 11.x core/modules/workflows/src/WorkflowAccessControlHandler.php \Drupal\workflows\WorkflowAccessControlHandler::checkCreateAccess()

Overrides EntityAccessControlHandler::checkCreateAccess

File

core/modules/workflows/src/WorkflowAccessControlHandler.php, line 73

Class

WorkflowAccessControlHandler
Access controller for the Workflow entity.

Namespace

Drupal\workflows

Code

protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
    $workflow_types_count = count($this->workflowTypeManager
        ->getDefinitions());
    $admin_access = parent::checkCreateAccess($account, $context, $entity_bundle);
    // Allow access if there is at least one workflow type. Since workflow types
    // are provided by modules this is cacheable until extensions change.
    return $admin_access->andIf(AccessResult::allowedIf($workflow_types_count > 0))
        ->addCacheTags([
        'workflow_type_plugins',
    ]);
}

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