src/Controller/Admin/AdminRealisationController.php line 59

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Entity\Realisation;
  4. use App\Form\RealisationType;
  5. use App\Repository\RealisationRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class AdminRealisationController extends AbstractController
  12. {
  13.     /**
  14.      * @var EntityManagerInterface
  15.      */
  16.     private $em;
  17.     public function __construct(RealisationRepository $realisationRepositoryEntityManagerInterface $em)
  18.     {
  19.         $this->realisationRepository $realisationRepository;
  20.         $this->em $em;
  21.     }
  22.     #[Route('/admin/realisation'name'admin.realisation.index')]
  23.     public function index(RealisationRepository $realisationRepository)
  24.     {
  25.         $realisation $realisationRepository->findAll('DESC');
  26.         return $this->render('admin/realisation/index.html.twig', [
  27.             'realisations' => $realisation,
  28.         ]);
  29.     }
  30.     #[Route('/admin/realisation/new'name'admin.realisation.new')]
  31.     public function new(Request $request)
  32.     {
  33.         $realisation = new Realisation();
  34.         $form $this->createForm(RealisationType::class, $realisation);
  35.         $form->handleRequest($request);
  36.         if ($form->isSubmitted() && $form->isValid()) {
  37.             $this->em->persist($realisation);
  38.             $this->em->flush();
  39.             return $this->redirectToRoute('admin.realisation.index');
  40.         }
  41.         return $this->renderForm('admin/realisation/new.html.twig', [
  42.             'realisation' => $realisation,
  43.             'form' => $form,
  44.         ]);
  45.     }
  46.     #[Route('/admin/realisation/edit/{id}'name'admin.realisation.edit'requirements:['id' => '\d+'])]
  47.     public function edit(Request $requestRealisation $realisation)
  48.     {
  49.         $form $this->createForm(RealisationType::class, $realisation);
  50.         $form->handleRequest($request);
  51.         if ($form->isSubmitted() && $form->isValid()) {
  52.             $this->em->flush();
  53.             return $this->redirectToRoute('admin.realisation.index');
  54.         }
  55.         return $this->render('admin/realisation/edit.html.twig', [
  56.             'realisation' => $realisation,
  57.             'form' => $form->createView()
  58.         ]);
  59.     }
  60.     #[Route('/admin/realisation/delete/{id}'name'admin.realisation.delete'requirements:['id' => '\d+'])]
  61.     public function delete(Request $requestRealisation $realisation)
  62.     {
  63.         if ($this->isCsrfTokenValid('delete'.$realisation->getId(), $request->request->get('_token'))) {
  64.             $this->em->remove($realisation);
  65.             $this->em->flush();
  66.             $this->addFlash('success''Realisation supprimée avec succès');
  67.         }
  68.         return $this->redirectToRoute('admin.realisation.index');
  69.     }
  70. }