hasPermission($this->entityType->getAdminPermission())) { return AccessResult::allowed()->cachePerPermissions(); } return match($operation) { 'view' => AccessResult::allowedIfHasPermission($account, '{{ permissions.view }}'), 'update' => AccessResult::allowedIfHasPermission($account, '{{ permissions.edit }}'), 'delete' => AccessResult::allowedIfHasPermission($account, '{{ permissions.delete }}'), {% if revisionable %} 'delete revision' => AccessResult::allowedIfHasPermission($account, '{{ permissions.delete_revision }}'), 'view all revisions', 'view revision' => AccessResult::allowedIfHasPermissions($account, ['{{ permissions.view_revision }}', '{{ permissions.view }}']), 'revert' => AccessResult::allowedIfHasPermissions($account, ['{{ permissions.revert_revision }}', '{{ permissions.edit }}']), {% endif %} default => AccessResult::neutral(), }; } /** * {@inheritdoc} */ protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL): AccessResult { return AccessResult::allowedIfHasPermissions($account, ['{{ permissions.create }}', '{{ permissions.administer }}'], 'OR'); } }