Loading core/modules/content_moderation/src/Plugin/Field/ModerationStateFieldItemList.php +1 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ protected function loadContentModerationStateRevision(ContentEntityInterface $en // being reverted. ->condition('content_entity_revision_id', $entity->isNewRevision() ? $entity->getLoadedRevisionId() : $entity->getRevisionId()) ->condition('workflow', $moderation_info->getWorkflowForEntity($entity)->id()) ->condition('langcode', $entity->language()->getId()) ->allRevisions() ->sort('revision_id', 'DESC') ->execute(); Loading core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php +29 −0 Original line number Diff line number Diff line Loading @@ -401,4 +401,33 @@ public function testWithExistingUnmoderatedContent() { $this->assertEquals('published', $translation->moderation_state->value); } /** * Tests field item list translation support with unmoderated content. */ public function testTranslationWithExistingUnmoderatedContent() { $node = Node::create([ 'title' => 'Published en', 'langcode' => 'en', 'type' => 'unmoderated', ]); $node->setPublished(); $node->save(); $workflow = Workflow::load('editorial'); $workflow->getTypePlugin()->addEntityTypeAndBundle('node', 'unmoderated'); $workflow->save(); $translation = $node->addTranslation('de'); $translation->moderation_state = 'draft'; $translation->save(); $node_storage = $this->container->get('entity_type.manager')->getStorage('node'); $node = $node_storage->loadRevision($node_storage->getLatestRevisionId($node->id())); $this->assertEquals('published', $node->moderation_state->value); $this->assertEquals('draft', $translation->moderation_state->value); $this->assertTrue($node->isPublished()); $this->assertFalse($translation->isPublished()); } } Loading
core/modules/content_moderation/src/Plugin/Field/ModerationStateFieldItemList.php +1 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ protected function loadContentModerationStateRevision(ContentEntityInterface $en // being reverted. ->condition('content_entity_revision_id', $entity->isNewRevision() ? $entity->getLoadedRevisionId() : $entity->getRevisionId()) ->condition('workflow', $moderation_info->getWorkflowForEntity($entity)->id()) ->condition('langcode', $entity->language()->getId()) ->allRevisions() ->sort('revision_id', 'DESC') ->execute(); Loading
core/modules/content_moderation/tests/src/Kernel/ModerationStateFieldItemListTest.php +29 −0 Original line number Diff line number Diff line Loading @@ -401,4 +401,33 @@ public function testWithExistingUnmoderatedContent() { $this->assertEquals('published', $translation->moderation_state->value); } /** * Tests field item list translation support with unmoderated content. */ public function testTranslationWithExistingUnmoderatedContent() { $node = Node::create([ 'title' => 'Published en', 'langcode' => 'en', 'type' => 'unmoderated', ]); $node->setPublished(); $node->save(); $workflow = Workflow::load('editorial'); $workflow->getTypePlugin()->addEntityTypeAndBundle('node', 'unmoderated'); $workflow->save(); $translation = $node->addTranslation('de'); $translation->moderation_state = 'draft'; $translation->save(); $node_storage = $this->container->get('entity_type.manager')->getStorage('node'); $node = $node_storage->loadRevision($node_storage->getLatestRevisionId($node->id())); $this->assertEquals('published', $node->moderation_state->value); $this->assertEquals('draft', $translation->moderation_state->value); $this->assertTrue($node->isPublished()); $this->assertFalse($translation->isPublished()); } }