diff --git a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/InlineEntityFormMediaWidget.php b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/InlineEntityFormMediaWidget.php index 3b4a212..81e39c7 100644 --- a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/InlineEntityFormMediaWidget.php +++ b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/InlineEntityFormMediaWidget.php @@ -233,12 +233,13 @@ class InlineEntityFormMediaWidget extends MediaEntityDropzoneJsEbWidget { $media_entities = $this->prepareEntitiesFromForm($form, $form_state); $source_field = $this->getBundle()->getTypeConfiguration()['source_field']; - foreach ($media_entities as $media_entity) { + foreach ($media_entities as $id => $media_entity) { $file = $media_entity->{$source_field}->entity; /** @var \Drupal\dropzonejs\Events\DropzoneMediaEntityCreateEvent $event */ $event = $this->eventDispatcher->dispatch(Events::MEDIA_ENTITY_CREATE, new DropzoneMediaEntityCreateEvent($media_entity, $file, $form, $form_state, $element)); $media_entity = $event->getMediaEntity(); $media_entity->save(); + $media_entities[$id] = $media_entity; } if (!empty(array_filter($media_entities))) { diff --git a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/MediaEntityDropzoneJsEbWidget.php b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/MediaEntityDropzoneJsEbWidget.php index c3a735b..e4f267c 100644 --- a/modules/eb_widget/src/Plugin/EntityBrowser/Widget/MediaEntityDropzoneJsEbWidget.php +++ b/modules/eb_widget/src/Plugin/EntityBrowser/Widget/MediaEntityDropzoneJsEbWidget.php @@ -181,7 +181,7 @@ class MediaEntityDropzoneJsEbWidget extends DropzoneJsEbWidget { /** @var \Drupal\media_entity\MediaInterface[] $media_entities */ $media_entities = $this->prepareEntities($form, $form_state); - foreach ($media_entities as &$media_entity) { + foreach ($media_entities as $id => $media_entity) { $source_field = $this->getBundle()->getTypeConfiguration()['source_field']; $file = $media_entity->$source_field->entity; /** @var \Drupal\dropzonejs\Events\DropzoneMediaEntityCreateEvent $event */ @@ -193,6 +193,7 @@ class MediaEntityDropzoneJsEbWidget extends DropzoneJsEbWidget { // in Media entity, but this workaround should work for now. $media_entity->$source_field->entity->save(); $media_entity->save(); + $media_entities[$id] = $media_entity; } $this->selectEntities($media_entities, $form_state);