annotate core/modules/content_moderation/src/Permissions.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\content_moderation;
Chris@0 4
Chris@0 5 use Drupal\Core\StringTranslation\StringTranslationTrait;
Chris@0 6 use Drupal\workflows\Entity\Workflow;
Chris@0 7
Chris@0 8 /**
Chris@0 9 * Defines a class for dynamic permissions based on transitions.
Chris@0 10 *
Chris@0 11 * @internal
Chris@0 12 */
Chris@0 13 class Permissions {
Chris@0 14
Chris@0 15 use StringTranslationTrait;
Chris@0 16
Chris@0 17 /**
Chris@0 18 * Returns an array of transition permissions.
Chris@0 19 *
Chris@0 20 * @return array
Chris@0 21 * The transition permissions.
Chris@0 22 */
Chris@0 23 public function transitionPermissions() {
Chris@0 24 $permissions = [];
Chris@0 25 /** @var \Drupal\workflows\WorkflowInterface $workflow */
Chris@0 26 foreach (Workflow::loadMultipleByType('content_moderation') as $id => $workflow) {
Chris@0 27 foreach ($workflow->getTypePlugin()->getTransitions() as $transition) {
Chris@0 28 $permissions['use ' . $workflow->id() . ' transition ' . $transition->id()] = [
Chris@0 29 'title' => $this->t('%workflow workflow: Use %transition transition.', [
Chris@0 30 '%workflow' => $workflow->label(),
Chris@0 31 '%transition' => $transition->label(),
Chris@0 32 ]),
Chris@0 33 ];
Chris@0 34 }
Chris@0 35 }
Chris@0 36
Chris@0 37 return $permissions;
Chris@0 38 }
Chris@0 39
Chris@0 40 }