diff --git a/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php b/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php index 94f10e9..8aa23c7 100644 --- a/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php +++ b/core/modules/content_moderation/src/ParamConverter/EntityRevisionConverter.php @@ -87,23 +87,12 @@ protected function isEditFormPage(Route $route) { */ public function convert($value, $definition, $name, array $defaults) { $entity = parent::convert($value, $definition, $name, $defaults); + $latest_revision_translation_affected = $entity->getLatestTranslationAffectedRevisionId(); - if ($entity && $this->moderationInformation->isModeratedEntity($entity) && !$this->moderationInformation->isLatestRevision($entity)) { - $entity_type_id = $this->getEntityTypeFromDefaults($definition, $name, $defaults); - $latest_revision = $this->moderationInformation->getLatestRevision($entity_type_id, $value); - - // If the entity type is translatable, ensure we return the proper - // translation object for the current context. - if ($latest_revision instanceof EntityInterface && $entity instanceof TranslatableInterface) { - $latest_revision = $this->entityManager->getTranslationFromContext($latest_revision, NULL, ['operation' => 'entity_upcast']); - } - - if ($latest_revision->isRevisionTranslationAffected()) { - $entity = $latest_revision; - } + $entity_type_id = $this->getEntityTypeFromDefaults($definition, $name, $defaults); + if ($storage = $this->entityManager->getStorage($entity_type_id)) { + return $storage->loadRevision($latest_revision_translation_affected); } - - return $entity; } }