From b76547767ae897b6de752c56e2cef6079ca4abcb Mon Sep 17 00:00:00 2001 From: polo Date: Thu, 11 Jun 2026 01:35:57 +0200 Subject: =?UTF-8?q?classe=20EmailForm=20=C3=A0=20Email=20et=20d=C3=A9tacha?= =?UTF-8?q?ble=20de=20Node?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/PageManagementController.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/controller/PageManagementController.php') diff --git a/src/controller/PageManagementController.php b/src/controller/PageManagementController.php index a43f36c..c575077 100644 --- a/src/controller/PageManagementController.php +++ b/src/controller/PageManagementController.php @@ -6,6 +6,7 @@ declare(strict_types=1); use App\Entity\Page; use App\Entity\Node; use App\Entity\NodeData; +use App\Entity\EmailForm; //use App\Entity\Image; use Doctrine\ORM\EntityManager; use Symfony\Component\HttpFoundation\InputBag; @@ -144,7 +145,9 @@ class PageManagementController } $block = new Node($request->request->get("bloc_select"), $position, $main, $page); - $data = new NodeData(['title' => trim(htmlspecialchars($request->request->get("bloc_title")))], $block); + + $DataClass = $request->request->get("bloc_select") === 'form' ? EmailForm::class : NodeData::class; // cas particulier avec bloc 'email_form' + $data = new $DataClass(['title' => trim(htmlspecialchars($request->request->get("bloc_title")))], $block); // valeurs par défaut if($request->request->get("bloc_select") === 'post_block'){ @@ -200,8 +203,15 @@ class PageManagementController if(isset($page)){ $entityManager->persist($page); } + $block->getNodeData()->setNode(null); $entityManager->remove($block); - $entityManager->flush(); + try{ + $entityManager->flush(); + } + catch(Exception $e){ + // utiliser une flash error + return new RedirectResponse((string)new URL(['page' => $request->query->get('page'), 'mode' => 'page_modif', 'error' => $e->getMessage()])); + } } return new RedirectResponse((string)new URL(['page' => $request->query->get('page'), 'mode' => 'page_modif'])); @@ -277,8 +287,7 @@ class PageManagementController $chrono_order = false; } else{ - echo json_encode(['success' => false]); - die; + return new JsonResponse(['success' => false]); } $model->getNode()->getNodeData()->setChronoOrder($chrono_order); $entityManager->flush(); -- cgit v1.2.3