From 6c28cf85e1b5921e4fb77be230651bc22e83b801 Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 26 Aug 2025 20:34:38 +0200 Subject: redirections correctes et bouton supprimer page article, ArticleController::deleteArticle renvoie une Response --- src/controller/ArticleController.php | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'src/controller/ArticleController.php') 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); use App\Entity\Node; use App\Entity\Article; use Doctrine\ORM\EntityManager; +use Symfony\Component\HttpFoundation\Response; class ArticleController { @@ -97,7 +98,7 @@ class ArticleController die; } - static public function deleteArticle(EntityManager $entityManager, array $json): void + static public function deleteArticle(EntityManager $entityManager, array $json): Response { $director = new Director($entityManager); $director->makeArticleNode($json['id'], true); @@ -107,20 +108,18 @@ class ArticleController $entityManager->remove($article); $section->removeChild($article); $section->sortChildren(true); // régénère les positions - $entityManager->flush(); - - // test avec une nouvelle requête qui ne devrait rien trouver - if(!$director->makeArticleNode($json['id'])) - { - echo json_encode(['success' => true]); - // on pourrait afficher une notification "toast" + try{ + $entityManager->flush(); + return new Response( + '{"success": true, "message": "Article supprimé avec succès"}', + Response::HTTP_OK); // 200 } - else{ - http_response_code(500); - echo json_encode(['success' => false, 'message' => 'Erreur lors de la suppression de l\'article.']); + catch(Exception $e){ + return new Response( + '{"success": false, "message": "Erreur: ' . $e->getMessage() . '"}', + Response::HTTP_INTERNAL_SERVER_ERROR); // 500 } - die; } static public function switchPositions(EntityManager $entityManager, array $json): void -- cgit v1.2.3