From 1369fcab53e3e25b1b01838f131703d06ccb5576 Mon Sep 17 00:00:00 2001 From: jleroy2023 Date: Tue, 19 Nov 2024 15:58:28 +0100 Subject: [PATCH] set admin V3 User --- src/Controller/AdminController.php | 38 ++++++++++++++ templates/admin/sidebar.html.twig | 2 +- templates/admin/site.html.twig | 81 ++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 templates/admin/site.html.twig diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php index 1a71a80..5147131 100644 --- a/src/Controller/AdminController.php +++ b/src/Controller/AdminController.php @@ -3,8 +3,10 @@ namespace App\Controller; use App\Entity\Participant; +use App\Entity\Site; use App\Entity\Ville; use App\Repository\ParticipantRepository; +use App\Repository\SiteRepository; use App\Repository\VilleRepository; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -187,4 +189,40 @@ class AdminController extends AbstractController $this->addFlash('success', 'Ville supprimée avec succès.'); return $this->redirectToRoute('app_adminCity'); } + + //Gestion des sites + #[Route('/admin/site', name: 'app_adminSite')] + public function adminSite(SiteRepository $siteRepository): Response + { + return $this->render('admin/site.html.twig', [ + 'sites' => $siteRepository->findAll(), + 'controller_name' => 'AdminController', + ]); + } + #[Route('/admin/site/add', name: 'app_adminSiteAdd', methods: ['POST'])] + public function adminSiteAdd(Request $request, EntityManagerInterface $entityManager): Response + { + try { + // Récupérer les données envoyées par le formulaire + $nom = $request->request->get('nom'); + + // Vérifier que les champs ne sont pas vides + if (!$nom) { + return new Response('Tous les champs sont requis.', Response::HTTP_BAD_REQUEST); + } + + // Créer une nouvelle entité City et définir ses propriétés + $site = new Site(); + $site->setNom($nom); + + // Enregistrer la ville dans la base de données + $entityManager->persist($site); + $entityManager->flush(); + $this->addFlash('success', "Site ajouté !"); + return $this->redirectToRoute('app_adminSite'); + } catch(\Exception $e) { + $this->addFlash('error', "Erreur : " . $e->getMessage()); + return $this->redirectToRoute('app_adminSite'); + } + } } diff --git a/templates/admin/sidebar.html.twig b/templates/admin/sidebar.html.twig index c336b3c..5d34fef 100644 --- a/templates/admin/sidebar.html.twig +++ b/templates/admin/sidebar.html.twig @@ -17,7 +17,7 @@
  • - + 📍 Sites
  • diff --git a/templates/admin/site.html.twig b/templates/admin/site.html.twig new file mode 100644 index 0000000..90fdc9b --- /dev/null +++ b/templates/admin/site.html.twig @@ -0,0 +1,81 @@ +{% extends 'main/base.html.twig' %} + +{% block title %}📣 Sortie.com Admin Site 🔊{% endblock %} + +{% block content %} +
    + {% include 'admin/sidebar.html.twig' %} + + +
    +

    Gestion des sites

    + + +
    + + +
    + + +
    + + + + + + + + + {% for site in sites %} + + + + + {% else %} + + + + {% endfor %} + +
    SiteActions
    {{ site.nom }} + Supprimer +
    Aucun site trouvée
    +
    +
    + + + + + +
    +{% endblock %}