Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / modules / content_moderation / src / Form / EntityModerationForm.php
index 7d05c5c7fc78244469f81d1d52d405ed940fdedd..98f6fdf2b9a09f47d997177efd2c143d98ebcebc 100644 (file)
@@ -8,12 +8,14 @@ use Drupal\Core\Entity\RevisionLogInterface;
 use Drupal\Core\Form\FormBase;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\content_moderation\ModerationInformationInterface;
-use Drupal\content_moderation\StateTransitionValidation;
+use Drupal\content_moderation\StateTransitionValidationInterface;
 use Drupal\workflows\Transition;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * The EntityModerationForm provides a simple UI for changing moderation state.
+ *
+ * @internal
  */
 class EntityModerationForm extends FormBase {
 
@@ -34,7 +36,7 @@ class EntityModerationForm extends FormBase {
   /**
    * The moderation state transition validation service.
    *
-   * @var \Drupal\content_moderation\StateTransitionValidation
+   * @var \Drupal\content_moderation\StateTransitionValidationInterface
    */
   protected $validation;
 
@@ -43,15 +45,15 @@ class EntityModerationForm extends FormBase {
    *
    * @param \Drupal\content_moderation\ModerationInformationInterface $moderation_info
    *   The moderation information service.
-   * @param \Drupal\content_moderation\StateTransitionValidation $validation
+   * @param \Drupal\content_moderation\StateTransitionValidationInterface $validation
    *   The moderation state transition validation service.
    * @param \Drupal\Component\Datetime\Time $time
    *   The time service.
    */
-  public function __construct(ModerationInformationInterface $moderation_info, StateTransitionValidation $validation, Time $time) {
+  public function __construct(ModerationInformationInterface $moderation_info, StateTransitionValidationInterface $validation, Time $time) {
     $this->moderationInfo = $moderation_info;
-    $this->time = $time;
     $this->validation = $validation;
+    $this->time = $time;
   }
 
   /**
@@ -136,6 +138,9 @@ class EntityModerationForm extends FormBase {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
     $entity = $form_state->get('entity');
+    /** @var \Drupal\Core\Entity\ContentEntityStorageInterface $storage */
+    $storage = \Drupal::entityTypeManager()->getStorage($entity->getEntityTypeId());
+    $entity = $storage->createRevision($entity, $entity->isDefaultRevision());
 
     $new_state = $form_state->getValue('new_state');