Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
web
/
vhosts
/
716cf56cb2.url-de-test.ws
/
htdocs
/
src
/
Controller
/
Back
/
/srv/data/web/vhosts/716cf56cb2.url-de-test.ws/htdocs/src/Controller/Back/OptionController.php
<?php namespace App\Controller\Back; use App\Entity\Option; use App\Form\OptionType; use App\Repository\OptionRepository; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; /** * @Route("/admin/options") */ class OptionController extends AbstractController { protected $em; protected $optionRepository; public function __construct(EntityManagerInterface $em, OptionRepository $optionRepository) { $this->em = $em; $this->optionRepository = $optionRepository; } /** * @Route("/", name="app_search_option") */ public function index() { $options = $this->optionRepository->findAll(); return $this->render("Back/Option/search.html.twig", [ "options" => $options ]); } /** * @Route("/create", name="app_create_option") */ public function create(Request $request) { $option = new option(); $form = $this->createForm(OptionType::class, $option); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $this->em->persist($option); $this->em->flush(); $this->addFlash('success', "option ajouté avec succès"); return $this->redirectToRoute("app_search_option"); } return $this->render("Back/Option/create.html.twig", [ "form" => $form->createView() ]); } /** * @Route("/edit/{id}", name="app_edit_option") */ public function edit(int $id, Request $request) { $option = $this->optionRepository->find($id); $form = $this->createForm(OptionType::class, $option); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $option->setUpdatedAt(new \DateTimeImmutable()); $this->em->persist($option); $this->em->flush(); $this->addFlash('success', "option modifié avec succès"); return $this->redirectToRoute("app_search_option"); } return $this->render("Back/Option/edit.html.twig", [ "form" => $form->createView() ]); } /** * @Route("/delete/{id}", name="app_delete_option") */ public function delete(int $id) { $option = $this->optionRepository->find($id); try { $this->em->remove($option); $this->em->flush(); $this->addFlash('success', "option supprimé avec succès"); } catch (\Exception $e) { $this->addFlash('danger', 'Une erreur est survenue'); } return $this->redirectToRoute("app_search_option"); } }