diff options
Diffstat (limited to 'src/controller/ArticleController.php')
-rw-r--r-- | src/controller/ArticleController.php | 23 |
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); | |||
6 | use App\Entity\Node; | 6 | use App\Entity\Node; |
7 | use App\Entity\Article; | 7 | use App\Entity\Article; |
8 | use Doctrine\ORM\EntityManager; | 8 | use Doctrine\ORM\EntityManager; |
9 | use Symfony\Component\HttpFoundation\Response; | ||
9 | 10 | ||
10 | class ArticleController | 11 | class 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 |