Permissions.php in Workbench Moderation 8
Same filename and directory in other branches
Namespace
Drupal\workbench_moderationFile
src/Permissions.phpView source
<?php
namespace Drupal\workbench_moderation;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\workbench_moderation\Entity\ModerationState;
use Drupal\workbench_moderation\Entity\ModerationStateTransition;
/**
* Defines a class for dynamic permissions based on transitions.
*/
class Permissions {
use StringTranslationTrait;
/**
* Returns an array of transition permissions.
*
* @return array
* The transition permissions.
*/
public function transitionPermissions() {
// @todo write a test for this.
$perms = [];
/* @var \Drupal\workbench_moderation\ModerationStateInterface[] $states */
$states = ModerationState::loadMultiple();
/* @var \Drupal\workbench_moderation\ModerationStateTransitionInterface $transition */
foreach (ModerationStateTransition::loadMultiple() as $id => $transition) {
$perms['use ' . $id . ' transition'] = [
'title' => $this
->t('Use the %transition_name transition', [
'%transition_name' => $transition
->label(),
]),
'description' => $this
->t('Move content from %from state to %to state.', [
'%from' => $states[$transition
->getFromState()]
->label(),
'%to' => $states[$transition
->getToState()]
->label(),
]),
];
}
return $perms;
}
}
Classes
Name | Description |
---|---|
Permissions | Defines a class for dynamic permissions based on transitions. |