diff --git a/src/Form/DataHandler/ImageSliderFormDataHandler.php b/src/Form/DataHandler/ImageSliderFormDataHandler.php index ef64367..fd8977b 100644 --- a/src/Form/DataHandler/ImageSliderFormDataHandler.php +++ b/src/Form/DataHandler/ImageSliderFormDataHandler.php @@ -126,8 +126,12 @@ public function update($id, array $data): int $langId = (int) $language['id_lang']; $imageSliderLang = $imageSlide->getImageSliderLangByLangId($langId); + $newImageSliderLang = false; if (null === $imageSliderLang) { - continue; + $imageSliderLang = new ImageSliderLang(); + $lang = $this->langRepository->findOneById($langId); + $imageSliderLang->setLang($lang); + $newImageSliderLang = true; } $imageSliderLang @@ -137,14 +141,22 @@ public function update($id, array $data): int ->setDescription($data['description'][$langId] ?? ''); if (!empty($data['image'][$langId])) { - $this->eraseFile($imageSliderLang->getImage()); + if (!$newImageSliderLang) { + $this->eraseFile($imageSliderLang->getImage()); + } $imageSliderLang->setImage($this->uploadFile($data['image'][$langId])); } if (!empty($data['image_mobile'][$langId])) { - $this->eraseFile($imageSliderLang->getImageMobile()); + if (!$newImageSliderLang) { + $this->eraseFile($imageSliderLang->getImageMobile()); + } $imageSliderLang->setImageMobile($this->uploadFile($data['image_mobile'][$langId])); } + + if ($newImageSliderLang) { + $imageSlide->addImageSliderLang($imageSliderLang); + } } $this->entityManager->flush();