You are here

WordfilterConfigurationAccessControlHandler.php in Wordfilter 8.2

Namespace

Drupal\wordfilter

File

src/WordfilterConfigurationAccessControlHandler.php
View source
<?php

namespace Drupal\wordfilter;

use Drupal\Core\Access\AccessResult;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Entity\EntityAccessControlHandler;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Session\AccountInterface;

/**
 * Defines the access control handler for Wordfilter configurations.
 *
 * @see \Drupal\wordfilter\Entity\WordfilterConfiguration
 */
class WordfilterConfigurationAccessControlHandler extends EntityAccessControlHandler {

  /**
   * {@inheritdoc}
   */
  public function access(EntityInterface $entity, $operation, AccountInterface $account = NULL, $return_as_object = FALSE) {
    $account = $this
      ->prepareUser($account);
    if ($account
      ->hasPermission('administer wordfilter configurations')) {
      $result = AccessResult::allowed()
        ->cachePerPermissions();
      return $return_as_object ? $result : $result
        ->isAllowed();
    }
    $id = $entity
      ->id();
    if ($account
      ->hasPermission("administer wordfilter configuration {$id}")) {
      $result = AccessResult::allowed()
        ->cachePerPermissions();
      return $return_as_object ? $result : $result
        ->isAllowed();
    }
    $result = parent::access($entity, $operation, $account, TRUE)
      ->cachePerPermissions();
    return $return_as_object ? $result : $result
      ->isAllowed();
  }

  /**
   * {@inheritdoc}
   */
  public function createAccess($entity_bundle = NULL, AccountInterface $account = NULL, array $context = array(), $return_as_object = FALSE) {
    $account = $this
      ->prepareUser($account);
    if ($account
      ->hasPermission('administer wordfilter configurations')) {
      $result = AccessResult::allowed()
        ->cachePerPermissions();
      return $return_as_object ? $result : $result
        ->isAllowed();
    }
    $result = parent::createAccess($entity_bundle, $account, $context, TRUE)
      ->cachePerPermissions();
    return $return_as_object ? $result : $result
      ->isAllowed();
  }

}

Classes

Namesort descending Description
WordfilterConfigurationAccessControlHandler Defines the access control handler for Wordfilter configurations.