bundle()} entityqueue", 'manipulate all entityqueues', 'administer entityqueue'], 'OR'); break; case 'delete': $can_delete_subqueue = AccessResult::allowedIf(!$entity->getQueue()->getHandlerPlugin()->hasAutomatedSubqueues()); $access_result = AccessResult ::allowedIfHasPermissions($account, ["delete {$entity->bundle()} entityqueue", 'manipulate all entityqueues', 'administer entityqueue'], 'OR') ->andIf($can_delete_subqueue); return $access_result; break; default: // No opinion. return AccessResult::neutral(); } } /** * {@inheritdoc} */ protected function checkCreateAccess(AccountInterface $account, array $context, $entity_bundle = NULL) { $access_result = AccessResult::allowedIfHasPermissions($account, ["create {$entity_bundle} entityqueue", 'manipulate all entityqueues', 'administer entityqueue'], 'OR'); if ($entity_bundle) { $queue = EntityQueue::load($entity_bundle); $access_result = AccessResult::allowedIf(!$queue->getHandlerPlugin()->hasAutomatedSubqueues()); } return $access_result; } }