3 namespace Drupal\content_moderation;
5 use Drupal\Core\StringTranslation\StringTranslationTrait;
6 use Drupal\workflows\Entity\Workflow;
9 * Defines a class for dynamic permissions based on transitions.
15 use StringTranslationTrait;
18 * Returns an array of transition permissions.
21 * The transition permissions.
23 public function transitionPermissions() {
25 /** @var \Drupal\workflows\WorkflowInterface $workflow */
26 foreach (Workflow::loadMultipleByType('content_moderation') as $id => $workflow) {
27 foreach ($workflow->getTypePlugin()->getTransitions() as $transition) {
28 $permissions['use ' . $workflow->id() . ' transition ' . $transition->id()] = [
29 'title' => $this->t('%workflow workflow: Use %transition transition.', [
30 '%workflow' => $workflow->label(),
31 '%transition' => $transition->label(),