diff --git a/assets/app.js b/assets/app.js index 0db5fd4..2ba6642 100644 --- a/assets/app.js +++ b/assets/app.js @@ -49,6 +49,16 @@ document.addEventListener('DOMContentLoaded', () => { } }); } + const btnClosedCommerce = document.querySelector('#closedCommerce'); + if (btnClosedCommerce) { + btnClosedCommerce.addEventListener('click', () => { + + if (!confirm('Êtes-vous sûr de vouloir signaler ce commerce comme fermé ?')) { + return; + } + window.location.href = '/closed_commerce/' + document.getElementById('app_public_closed_commerce').value; + }); + } }); diff --git a/src/Controller/PublicController.php b/src/Controller/PublicController.php index 7a6493b..b52bd57 100644 --- a/src/Controller/PublicController.php +++ b/src/Controller/PublicController.php @@ -347,4 +347,34 @@ class PublicController extends AbstractController 'commerce_id' => $osm_object_id, ]); } -} + + #route pour signaler que le commerce est fermé + #[Route('/closed_commerce/{osm_object_id}', name: 'app_public_closed_commerce')] + public function closed_commerce($osm_object_id): Response + { + $place = $this->entityManager->getRepository(Place::class)->findOneBy(['osm_id' => $osm_object_id]); + if (!$place) { + $this->addFlash('warning', 'Ce commerce n\'existe pas.'); + return $this->redirectToRoute('app_public_index'); + } + + $place->setClosed(true); + $this->entityManager->flush(); + + return $this->render('public/closed_commerce.html.twig', [ + 'controller_name' => 'PublicController', + ]); + } + + #[Route('/closed_commerces', name: 'app_public_closed_commerces')] + public function closedCommerces(): Response + { + // Récupérer tous les commerces marqués comme fermés + $closedPlaces = $this->entityManager->getRepository(Place::class)->findBy(['dead' => true]); + + return $this->render('public/closed_commerces.html.twig', [ + 'controller_name' => 'PublicController', + 'closed_places' => $closedPlaces + ]); + } +} \ No newline at end of file diff --git a/templates/public/closed_commerces.html.twig b/templates/public/closed_commerces.html.twig new file mode 100644 index 0000000..9c338e8 --- /dev/null +++ b/templates/public/closed_commerces.html.twig @@ -0,0 +1,48 @@ + + {% extends 'base.html.twig' %} + +{% block title %}{{ 'display.title'|trans }} - accueil{% endblock %} + +{% block stylesheets %} + {{ parent() }} + + +{% endblock %} + +{% block body %} +
Voici la liste des commerces fermés :
+Nom du commerce | +Code postal | +
---|---|
+ + {{ place.name }} + + | +{{ place.zipCode }} | +
Aucun commerce fermé trouvé.
+ {% endif %} +