3 namespace Drupal\entityqueue;
5 use Drupal\entityqueue\Entity\EntityQueue;
6 use Drupal\Core\StringTranslation\StringTranslationTrait;
8 class EntityQueuePermissions {
10 use StringTranslationTrait;
15 public function permissions() {
17 // Generate queue permissions for all queues.
18 foreach (EntityQueue::loadMultiple() as $queue) {
19 $perms += $this->buildPermissions($queue);
26 * @param \Drupal\entityqueue\Entity\EntityQueue $queue
30 public function buildPermissions(EntityQueue $queue) {
31 $queue_id = $queue->id();
33 if ($queue->getHandlerPlugin()->supportsMultipleSubqueues()) {
34 $permissions["create $queue_id entityqueue"] = [
35 'title' => $this->t('Add %queue subqueues', ['%queue' => $queue->label()]),
36 'description' => $this->t('Access to create new subqueue to the %queue queue.', ['%queue' => $queue->label()]),
38 $permissions["delete $queue_id entityqueue"] = [
39 'title' => $this->t('Delete %queue subqueues', ['%queue' => $queue->label()]),
40 'description' => $this->t('Access to delete subqueues of the %queue queue.', ['%queue' => $queue->label()]),
44 $permissions["update $queue_id entityqueue"] = [
45 'title' => $this->t('Manipulate %queue queue', ['%queue' => $queue->label()]),
46 'description' => $this->t('Access to update the %queue queue.', ['%queue' => $queue->label()]),