class EntityTestRevlogAccessControlHandler
Defines the access control handler for test entity types.
Hierarchy
- class \Drupal\Core\Entity\EntityHandlerBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait- class \Drupal\Core\Entity\EntityAccessControlHandler implements \Drupal\Core\Entity\EntityAccessControlHandlerInterface extends \Drupal\Core\Entity\EntityHandlerBase- class \Drupal\entity_test_revlog\EntityTestRevlogAccessControlHandler extends \Drupal\Core\Entity\EntityAccessControlHandler
 
 
- class \Drupal\Core\Entity\EntityAccessControlHandler implements \Drupal\Core\Entity\EntityAccessControlHandlerInterface extends \Drupal\Core\Entity\EntityHandlerBase
Expanded class hierarchy of EntityTestRevlogAccessControlHandler
2 files declare their use of EntityTestRevlogAccessControlHandler
- EntityTestMulWithRevisionLog.php in core/modules/ system/ tests/ modules/ entity_test_revlog/ src/ Entity/ EntityTestMulWithRevisionLog.php 
- EntityTestWithRevisionLog.php in core/modules/ system/ tests/ modules/ entity_test_revlog/ src/ Entity/ EntityTestWithRevisionLog.php 
File
- 
              core/modules/ system/ tests/ modules/ entity_test_revlog/ src/ EntityTestRevlogAccessControlHandler.php, line 16 
Namespace
Drupal\entity_test_revlogView source
class EntityTestRevlogAccessControlHandler extends EntityAccessControlHandler {
  
  /**
   * {@inheritdoc}
   */
  protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
    assert($entity instanceof EntityTestWithRevisionLog);
    // Access to revisions is based on labels, so access can vary by individual
    // revisions, since the 'name' field can vary by revision.
    $labels = explode(',', $entity->label());
    $labels = array_map('trim', $labels);
    if (in_array($operation, [
      'view',
      'view label',
      'view all revisions',
      'view revision',
    ], TRUE)) {
      return AccessResult::allowedIf(in_array($operation, $labels, TRUE));
    }
    elseif ($operation === 'revert') {
      return AccessResult::allowedIf(!$entity->isDefaultRevision() && !$entity->isLatestRevision() && in_array('revert', $labels, TRUE));
    }
    elseif ($operation === 'delete revision') {
      return AccessResult::allowedIf(!$entity->isLatestRevision() && in_array('delete revision', $labels, TRUE));
    }
    // No opinion.
    return AccessResult::neutral();
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides | 
|---|---|---|---|---|---|
| DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | ||
| DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | ||
| DependencySerializationTrait::__sleep | public | function | 2 | ||
| DependencySerializationTrait::__wakeup | public | function | 2 | ||
| EntityAccessControlHandler::$accessCache | protected | property | Stores calculated access check results. | ||
| EntityAccessControlHandler::$entityType | protected | property | Information about the entity type. | ||
| EntityAccessControlHandler::$entityTypeId | protected | property | The entity type ID of the access control handler instance. | ||
| EntityAccessControlHandler::$viewLabelOperation | protected | property | Allows to grant access to just the labels. | 7 | |
| EntityAccessControlHandler::access | public | function | Checks access to an operation on a given entity or entity translation. | Overrides EntityAccessControlHandlerInterface::access | 1 | 
| EntityAccessControlHandler::buildCreateAccessCid | protected | function | Builds the create access result cache ID. | 1 | |
| EntityAccessControlHandler::checkCreateAccess | protected | function | Performs create access checks. | 14 | |
| EntityAccessControlHandler::checkFieldAccess | protected | function | Default field access as determined by this access control handler. | 4 | |
| EntityAccessControlHandler::createAccess | public | function | Checks access to create an entity. | Overrides EntityAccessControlHandlerInterface::createAccess | 1 | 
| EntityAccessControlHandler::fieldAccess | public | function | Checks access to an operation on a given entity field. | Overrides EntityAccessControlHandlerInterface::fieldAccess | |
| EntityAccessControlHandler::getCache | protected | function | Tries to retrieve a previously cached access value from the static cache. | ||
| EntityAccessControlHandler::prepareUser | protected | function | Loads the current account object, if it does not exist yet. | ||
| EntityAccessControlHandler::processAccessHookResults | protected | function | Determines entity access. | ||
| EntityAccessControlHandler::resetCache | public | function | Clears all cached access checks. | Overrides EntityAccessControlHandlerInterface::resetCache | |
| EntityAccessControlHandler::setCache | protected | function | Statically caches whether the given user has access. | ||
| EntityAccessControlHandler::__construct | public | function | Constructs an access control handler instance. | 8 | |
| EntityHandlerBase::$moduleHandler | protected | property | The module handler to invoke hooks on. | 5 | |
| EntityHandlerBase::moduleHandler | protected | function | Gets the module handler. | 5 | |
| EntityHandlerBase::setModuleHandler | public | function | Sets the module handler for this handler. | ||
| EntityTestRevlogAccessControlHandler::checkAccess | protected | function | Performs access checks. | Overrides EntityAccessControlHandler::checkAccess | |
| StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | |
| StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | ||
| StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | ||
| StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | ||
| StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | |
| StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. | 1 | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
