WordfilterConfigurationAccessControlHandler.php in Wordfilter 8.2
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;
class WordfilterConfigurationAccessControlHandler extends EntityAccessControlHandler {
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();
}
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();
}
}