diff options
| author | polo <ordipolo@gmx.fr> | 2026-06-11 01:35:57 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2026-06-11 01:35:57 +0200 |
| commit | b76547767ae897b6de752c56e2cef6079ca4abcb (patch) | |
| tree | d76006e86198189c949b36b2c284067b9603e3fc /src/controller/PageManagementController.php | |
| parent | ae217a6e4b0c29346381e2a410fd7810cb33ce3f (diff) | |
| download | cms-b76547767ae897b6de752c56e2cef6079ca4abcb.tar.gz cms-b76547767ae897b6de752c56e2cef6079ca4abcb.tar.bz2 cms-b76547767ae897b6de752c56e2cef6079ca4abcb.zip | |
classe EmailForm à Email et détachable de Node
Diffstat (limited to 'src/controller/PageManagementController.php')
| -rw-r--r-- | src/controller/PageManagementController.php | 17 |
1 files changed, 13 insertions, 4 deletions
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); | |||
| 6 | use App\Entity\Page; | 6 | use App\Entity\Page; |
| 7 | use App\Entity\Node; | 7 | use App\Entity\Node; |
| 8 | use App\Entity\NodeData; | 8 | use App\Entity\NodeData; |
| 9 | use App\Entity\EmailForm; | ||
| 9 | //use App\Entity\Image; | 10 | //use App\Entity\Image; |
| 10 | use Doctrine\ORM\EntityManager; | 11 | use Doctrine\ORM\EntityManager; |
| 11 | use Symfony\Component\HttpFoundation\InputBag; | 12 | use Symfony\Component\HttpFoundation\InputBag; |
| @@ -144,7 +145,9 @@ class PageManagementController | |||
| 144 | } | 145 | } |
| 145 | 146 | ||
| 146 | $block = new Node($request->request->get("bloc_select"), $position, $main, $page); | 147 | $block = new Node($request->request->get("bloc_select"), $position, $main, $page); |
| 147 | $data = new NodeData(['title' => trim(htmlspecialchars($request->request->get("bloc_title")))], $block); | 148 | |
| 149 | $DataClass = $request->request->get("bloc_select") === 'form' ? EmailForm::class : NodeData::class; // cas particulier avec bloc 'email_form' | ||
| 150 | $data = new $DataClass(['title' => trim(htmlspecialchars($request->request->get("bloc_title")))], $block); | ||
| 148 | 151 | ||
| 149 | // valeurs par défaut | 152 | // valeurs par défaut |
| 150 | if($request->request->get("bloc_select") === 'post_block'){ | 153 | if($request->request->get("bloc_select") === 'post_block'){ |
| @@ -200,8 +203,15 @@ class PageManagementController | |||
| 200 | if(isset($page)){ | 203 | if(isset($page)){ |
| 201 | $entityManager->persist($page); | 204 | $entityManager->persist($page); |
| 202 | } | 205 | } |
| 206 | $block->getNodeData()->setNode(null); | ||
| 203 | $entityManager->remove($block); | 207 | $entityManager->remove($block); |
| 204 | $entityManager->flush(); | 208 | try{ |
| 209 | $entityManager->flush(); | ||
| 210 | } | ||
| 211 | catch(Exception $e){ | ||
| 212 | // utiliser une flash error | ||
| 213 | return new RedirectResponse((string)new URL(['page' => $request->query->get('page'), 'mode' => 'page_modif', 'error' => $e->getMessage()])); | ||
| 214 | } | ||
| 205 | } | 215 | } |
| 206 | 216 | ||
| 207 | return new RedirectResponse((string)new URL(['page' => $request->query->get('page'), 'mode' => 'page_modif'])); | 217 | return new RedirectResponse((string)new URL(['page' => $request->query->get('page'), 'mode' => 'page_modif'])); |
| @@ -277,8 +287,7 @@ class PageManagementController | |||
| 277 | $chrono_order = false; | 287 | $chrono_order = false; |
| 278 | } | 288 | } |
| 279 | else{ | 289 | else{ |
| 280 | echo json_encode(['success' => false]); | 290 | return new JsonResponse(['success' => false]); |
| 281 | die; | ||
| 282 | } | 291 | } |
| 283 | $model->getNode()->getNodeData()->setChronoOrder($chrono_order); | 292 | $model->getNode()->getNodeData()->setChronoOrder($chrono_order); |
| 284 | $entityManager->flush(); | 293 | $entityManager->flush(); |
