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.
13 use StringTranslationTrait;
16 * Returns an array of transition permissions.
19 * The transition permissions.
21 public function transitionPermissions() {
23 /** @var \Drupal\workflows\WorkflowInterface $workflow */
24 foreach (Workflow::loadMultipleByType('content_moderation') as $id => $workflow) {
25 foreach ($workflow->getTransitions() as $transition) {
26 $permissions['use ' . $workflow->id() . ' transition ' . $transition->id()] = [
27 'title' => $this->t('Use %transition transition from %workflow workflow.', [
28 '%transition' => $transition->label(),
29 '%workflow' => $workflow->label(),