aboutsummaryrefslogtreecommitdiff
path: root/src/controller/PageManagementController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/PageManagementController.php')
-rw-r--r--src/controller/PageManagementController.php17
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);
6use App\Entity\Page; 6use App\Entity\Page;
7use App\Entity\Node; 7use App\Entity\Node;
8use App\Entity\NodeData; 8use App\Entity\NodeData;
9use App\Entity\EmailForm;
9//use App\Entity\Image; 10//use App\Entity\Image;
10use Doctrine\ORM\EntityManager; 11use Doctrine\ORM\EntityManager;
11use Symfony\Component\HttpFoundation\InputBag; 12use 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();