You are here

protected function WebformBlock::blockAccess in Webform 8.5

Same name and namespace in other branches
  1. 6.x src/Plugin/Block/WebformBlock.php \Drupal\webform\Plugin\Block\WebformBlock::blockAccess()

Indicates whether the block should be shown.

Blocks with specific access checking should override this method rather than access(), in order to avoid repeating the handling of the $return_as_object argument.

Parameters

\Drupal\Core\Session\AccountInterface $account: The user session for which to check access.

Return value

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

Overrides BlockPluginTrait::blockAccess

See also

self::access()

File

src/Plugin/Block/WebformBlock.php, line 236

Class

WebformBlock
Provides a 'Webform' block.

Namespace

Drupal\webform\Plugin\Block

Code

protected function blockAccess(AccountInterface $account) {
  $webform = $this
    ->getWebform();
  if (!$webform) {
    return AccessResult::forbidden();
  }
  $access_result = $webform
    ->access('submission_create', $account, TRUE);
  if ($access_result
    ->isAllowed()) {
    return $access_result;
  }
  $has_access_denied_message = $webform
    ->getSetting('form_access_denied') !== WebformInterface::ACCESS_DENIED_DEFAULT;
  return AccessResult::allowedIf($has_access_denied_message)
    ->addCacheableDependency($access_result);
}