aboutsummaryrefslogtreecommitdiff
path: root/src/controller
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller')
-rw-r--r--src/controller/ArticleController.php23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/controller/ArticleController.php b/src/controller/ArticleController.php
index 078754a..a982d8c 100644
--- a/src/controller/ArticleController.php
+++ b/src/controller/ArticleController.php
@@ -6,6 +6,7 @@ declare(strict_types=1);
6use App\Entity\Node; 6use App\Entity\Node;
7use App\Entity\Article; 7use App\Entity\Article;
8use Doctrine\ORM\EntityManager; 8use Doctrine\ORM\EntityManager;
9use Symfony\Component\HttpFoundation\Response;
9 10
10class ArticleController 11class ArticleController
11{ 12{
@@ -97,7 +98,7 @@ class ArticleController
97 die; 98 die;
98 } 99 }
99 100
100 static public function deleteArticle(EntityManager $entityManager, array $json): void 101 static public function deleteArticle(EntityManager $entityManager, array $json): Response
101 { 102 {
102 $director = new Director($entityManager); 103 $director = new Director($entityManager);
103 $director->makeArticleNode($json['id'], true); 104 $director->makeArticleNode($json['id'], true);
@@ -107,20 +108,18 @@ class ArticleController
107 $entityManager->remove($article); 108 $entityManager->remove($article);
108 $section->removeChild($article); 109 $section->removeChild($article);
109 $section->sortChildren(true); // régénère les positions 110 $section->sortChildren(true); // régénère les positions
110 $entityManager->flush();
111
112 // test avec une nouvelle requête qui ne devrait rien trouver
113 if(!$director->makeArticleNode($json['id']))
114 {
115 echo json_encode(['success' => true]);
116 111
117 // on pourrait afficher une notification "toast" 112 try{
113 $entityManager->flush();
114 return new Response(
115 '{"success": true, "message": "Article supprimé avec succès"}',
116 Response::HTTP_OK); // 200
118 } 117 }
119 else{ 118 catch(Exception $e){
120 http_response_code(500); 119 return new Response(
121 echo json_encode(['success' => false, 'message' => 'Erreur lors de la suppression de l\'article.']); 120 '{"success": false, "message": "Erreur: ' . $e->getMessage() . '"}',
121 Response::HTTP_INTERNAL_SERVER_ERROR); // 500
122 } 122 }
123 die;
124 } 123 }
125 124
126 static public function switchPositions(EntityManager $entityManager, array $json): void 125 static public function switchPositions(EntityManager $entityManager, array $json): void