3 namespace Drupal\entityqueue;
5 use Drupal\Core\Access\AccessResult;
6 use Drupal\Core\Entity\EntityAccessControlHandler;
7 use Drupal\Core\Entity\EntityInterface;
8 use Drupal\Core\Session\AccountInterface;
11 * Defines the access control handler for the entity_queue entity type.
13 * @see \Drupal\entityqueue\Entity\EntityQueue
15 class EntityQueueAccessControlHandler extends EntityAccessControlHandler {
20 protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
21 /** @var \Drupal\entityqueue\EntitySubqueueInterface $entity */
24 return AccessResult::allowedIfHasPermission($account, 'access content');
28 return AccessResult::allowedIfHasPermissions($account, ["update {$entity->id()} entityqueue", 'manipulate all entityqueues', 'administer entityqueue'], 'OR');
32 return AccessResult::allowedIfHasPermissions($account, ["delete {$entity->id()} entityqueue", 'manipulate all entityqueues', 'administer entityqueue'], 'OR');
37 return AccessResult::neutral();
44 protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) {
45 return AccessResult::allowedIfHasPermission($account, 'administer entityqueue');