src/Controller/MediaController.php line 64

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Media;
  4. use App\Form\MediaType;
  5. use App\Repository\MediaRepository;
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  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. /**
  12.  * @Route("/media")
  13.  */
  14. class MediaController extends AbstractController
  15. {
  16.     /**
  17.      * @Route("/", name="media_index", methods={"GET"})
  18.      * @IsGranted("ROLE_USER", message="No access! Get out!")
  19.      */
  20.     public function index(MediaRepository $mediaRepository): Response
  21.     {
  22.         return $this->render('media/index.html.twig', [
  23.             'media' => $mediaRepository->findBy([
  24.                 'typefile'=>"IMAGE"
  25.             ]),
  26.         ]);
  27.     }
  28.     /**
  29.      * @Route("/new", name="media_new", methods={"GET","POST"})
  30.      */
  31.     public function new(Request $request): Response
  32.     {
  33.         $medium = new Media();
  34.         $form $this->createForm(MediaType::class, $medium);
  35.         $form->handleRequest($request);
  36.         if ($form->isSubmitted() && $form->isValid()) {
  37.             $entityManager $this->getDoctrine()->getManager();
  38.             $medium->setCreateAt(new \DateTime('now'));
  39.             $medium->setTypefile('IMAGE');
  40.             $entityManager->persist($medium);
  41.             $entityManager->flush();
  42.             $this->addFlash(
  43.                 'success',
  44.                 "Votre enregistrement  a été effectué  avec succès!"
  45.             );
  46.             return $this->redirectToRoute('media_index');
  47.         }
  48.         return $this->render('media/new.html.twig', [
  49.             'medium' => $medium,
  50.             'form' => $form->createView(),
  51.         ]);
  52.     }
  53.     /**
  54.      * @Route("/{id}", name="media_show", methods={"GET"})
  55.      */
  56.     public function show(Media $medium): Response
  57.     {
  58.         return $this->render('media/show.html.twig', [
  59.             'medium' => $medium,
  60.         ]);
  61.     }
  62.     /**
  63.      * @Route("/{id}/edit", name="media_edit", methods={"GET","POST"})
  64.      */
  65.     public function edit(Request $requestMedia $medium): Response
  66.     {
  67.         $form $this->createForm(MediaType::class, $medium);
  68.         $form->handleRequest($request);
  69.         if ($form->isSubmitted() && $form->isValid()) {
  70.             $medium->setTypefile('IMAGE');
  71.             $medium->setCreateAt(new \DateTime('now'));
  72.             $this->getDoctrine()->getManager()->flush();
  73.             $this->addFlash(
  74.                 'success',
  75.                 "Votre modification  a été effectuée  avec succès!"
  76.             );
  77.             return $this->redirectToRoute('media_index');
  78.         }
  79.         return $this->render('media/edit.html.twig', [
  80.             'medium' => $medium,
  81.             'form' => $form->createView(),
  82.         ]);
  83.     }
  84.     /**
  85.      * @Route("/{id}", name="media_delete", methods={"DELETE"})
  86.      */
  87.     public function delete(Request $requestMedia $medium): Response
  88.     {
  89.         if ($this->isCsrfTokenValid('delete'.$medium->getId(), $request->request->get('_token'))) {
  90.             $entityManager $this->getDoctrine()->getManager();
  91.             $entityManager->remove($medium);
  92.             $entityManager->flush();
  93.         }
  94.         return $this->redirectToRoute('media_index');
  95.     }
  96. }