From 03c1d35887ee2703a91dbb60c2953f06f8607a74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 26 Aug 2019 11:41:39 +0200 Subject: [PATCH] Only recreate the BaseAdmin form when the form were valid. Otherwise we loose the infos about the errors and so can not show them to user. --- src/Controller/AdminPages/BaseAdminController.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Controller/AdminPages/BaseAdminController.php b/src/Controller/AdminPages/BaseAdminController.php index 6ae67200..8a9745ca 100644 --- a/src/Controller/AdminPages/BaseAdminController.php +++ b/src/Controller/AdminPages/BaseAdminController.php @@ -76,13 +76,14 @@ abstract class BaseAdminController extends AbstractController $em->persist($entity); $em->flush(); $this->addFlash('success', $this->translator->trans('entity.edit_flash')); + + //Rebuild form, so it is based on the updated data. Important for the parent field! + //We can not use dynamic form events here, because the parent entity list is build from database! + $form = $this->createForm($this->form_class, $entity); } elseif ($form->isSubmitted() && ! $form->isValid()) { $this->addFlash('error', $this->translator->trans('entity.edit_flash.invalid')); } - //Rebuild form, so it is based on the updated data. Important for the parent field! - $form = $this->createForm($this->form_class, $entity); - return $this->render($this->twig_template, [ 'entity' => $entity, 'form' => $form->createView()