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"] = array(
35 'title' => $this->t('Add %queue subqueues', array('%queue' => $queue->label())),
36 'description' => $this->t('Access to create new subqueue to the %queue queue.', array('%queue' => $queue->label())),
38 $permissions["delete $queue_id entityqueue"] = array(
39 'title' => $this->t('Delete %queue subqueues', array('%queue' => $queue->label())),
40 'description' => $this->t('Access to delete subqueues of the %queue queue.', array('%queue' => $queue->label())),
44 $permissions["update $queue_id entityqueue"] = array(
45 'title' => $this->t('Manipulate %queue queue', array('%queue' => $queue->label())),
46 'description' => $this->t('Access to update the %queue queue.', array('%queue' => $queue->label())),