You are here

protected function MultipleUpdatesForm::getModerationOptions in Scheduled Publish 8.3

Get moderation options.

3 calls to MultipleUpdatesForm::getModerationOptions()
MultipleUpdatesForm::buildForm in src/Form/MultipleUpdatesForm.php
Form constructor.
MultipleUpdatesForm::handleStates in src/Form/MultipleUpdatesForm.php
Handles state values, clean-up and ordering.
MultipleUpdatesForm::submitForm in src/Form/MultipleUpdatesForm.php
Form submission handler.

File

src/Form/MultipleUpdatesForm.php, line 210
Contains \Drupal\scheduled_publish\Form\MultipleUpdatesForm.

Class

MultipleUpdatesForm

Namespace

Drupal\scheduled_publish\Form

Code

protected function getModerationOptions($entity) {
  $states = [];

  /** @var \Drupal\content_moderation\ModerationInformation $moderationInformationService */
  $moderationInformationService = \Drupal::service('content_moderation.moderation_information');
  if ($moderationInformationService
    ->isModeratedEntity($entity)) {

    /** @var \Drupal\content_moderation\StateTransitionValidation $transitionValidationService */
    $transitionValidationService = \Drupal::service('content_moderation.state_transition_validation');
    $transitions = $transitionValidationService
      ->getValidTransitions($entity, \Drupal::currentUser());
    foreach ($transitions as $key => $value) {
      $states[$transitions[$key]
        ->to()
        ->id()] = $transitions[$key]
        ->label();
    }
  }
  return $states;
}