You are here

protected function EventAccessControlHandler::checkAccess in RNG - Events and Registrations 8

Same name and namespace in other branches
  1. 8.2 src/AccessControl/EventAccessControlHandler.php \Drupal\rng\AccessControl\EventAccessControlHandler::checkAccess()
  2. 3.x src/AccessControl/EventAccessControlHandler.php \Drupal\rng\AccessControl\EventAccessControlHandler::checkAccess()

Performs access checks.

This method is supposed to be overwritten by extending classes that do their own custom access checking.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity for which to check access.

string $operation: The entity operation. Usually one of 'view', 'view label', 'update' or 'delete'.

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

Return value

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

Overrides EntityAccessControlHandler::checkAccess

File

src/AccessControl/EventAccessControlHandler.php, line 19

Class

EventAccessControlHandler
Access controller for the rules and rule components.

Namespace

Drupal\rng\AccessControl

Code

protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
  $account = $this
    ->prepareUser($account);
  $child = $entity instanceof RuleInterface ? $entity : $entity
    ->getRule();
  if ($child instanceof EntityInterface) {

    /** @var $child RuleInterface|\Drupal\rng\RuleComponentInterface */
    return $child
      ->getEvent()
      ->access('manage event', $account, TRUE);
  }
  return AccessResult::neutral();
}