Commit 2492cdda authored by catch's avatar catch

Issue #3003238 by Sam152, amateescu, Berdir: EntityStorageException: Default...

Issue #3003238 by Sam152, amateescu, Berdir: EntityStorageException: Default revision can not be deleted in content_moderation_entity_revision_delete()
parent 94ac341e
......@@ -235,10 +235,11 @@ public function entityDelete(EntityInterface $entity) {
* @see hook_entity_revision_delete()
*/
public function entityRevisionDelete(EntityInterface $entity) {
/** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
if (!$entity->isDefaultRevision()) {
$content_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($entity);
if ($content_moderation_state) {
if ($content_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($entity)) {
if ($content_moderation_state->isDefaultRevision()) {
$content_moderation_state->delete();
}
else {
$this->entityTypeManager
->getStorage('content_moderation_state')
->deleteRevision($content_moderation_state->getRevisionId());
......
......@@ -238,6 +238,30 @@ public function testContentModerationStatePendingRevisionDataRemoval($entity_typ
$this->assertFalse($content_moderation_state);
}
/**
* Tests removal of content moderation state entities for preexisting content.
*/
public function testExistingContentModerationStateDataRemoval() {
$storage = $this->entityTypeManager->getStorage('entity_test_mulrevpub');
$entity = $storage->create([]);
$entity->save();
$original_revision_id = $entity->getRevisionId();
$workflow = $this->createEditorialWorkflow();
$workflow->getTypePlugin()->addEntityTypeAndBundle($entity->getEntityTypeId(), $entity->bundle());
$workflow->save();
$entity->moderation_state = 'draft';
$entity->save();
$storage->deleteRevision($entity->getRevisionId());
$entity = $this->reloadEntity($entity);
$this->assertEquals('published', $entity->moderation_state->value);
$this->assertEquals($original_revision_id, $storage->getLatestRevisionId($entity->id()));
}
/**
* Tests removal of content moderation state translations.
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment