src/Controller/TrSynonymeSynController.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\TrSynonymeSyn;
  4. use App\Form\TrSynonymeSynType;
  5. use App\Filter\Form\SynonymeFilterType;
  6. use App\Filter\Entity\SynonymeSearch;
  7. use App\Repository\TrSynonymeRepository;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
  13. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Entity;
  14. use Knp\Component\Pager\PaginatorInterface;
  15. /**
  16.  * @Route("/synonyme")
  17.  */
  18. class TrSynonymeSynController extends AbstractController
  19. {
  20.     /**
  21.      * @Route("/", name="synonyme_index", methods={"GET"})
  22.      */
  23.     public function index(TrSynonymeRepository $synonymeRepositoryRequest $requestPaginatorInterface $paginator): Response
  24.     {
  25.         $search = new SynonymeSearch();
  26.         $form $this->createForm(SynonymeFilterType::class, $search);
  27.         $form->handleRequest($request);
  28.         $maxItemPerPage $request->get('maxItemPerPage');
  29.         if ($maxItemPerPage == "")    $maxItemPerPage 10;
  30.         $entities $synonymeRepository->findAllVisibleQuery($search);   //$traitatolRepository->findAllVisibleQuery($search);
  31.         $nb count($entities);
  32.         $entitiesPaginated $paginator->paginate(
  33.             $entities,
  34.             $request->query->getInt('page'1),
  35.             $maxItemPerPage
  36.         );
  37.         $data = [
  38.             'synonymes' => $entitiesPaginated,
  39.             'nb' => $nb,
  40.             'maxItemPerPage' => $maxItemPerPage,
  41.             'form' => $form->createView()
  42.         ];
  43.         $rep $this->render("tr_synonyme_syn/index.html.twig"$data);
  44.         return $rep;
  45.     }
  46.     /**
  47.      * @Route("/new", name="synonyme_new", methods={"GET","POST"})
  48.      */
  49.     public function new(Request $request): Response
  50.     {
  51.         $trSynonymeSyn = new TrSynonymeSyn();
  52.         $form $this->createForm(TrSynonymeSynType::class, $trSynonymeSyn);
  53.         $form->handleRequest($request);
  54.         if ($form->isSubmitted() && $form->isValid()) {
  55.             $entityManager $this->getDoctrine()->getManager();
  56.             $entityManager->persist($trSynonymeSyn);
  57.             $entityManager->flush();
  58.             if ($form->getClickedButton() === $form->get('saveAndAdd'))
  59.                 return $this->redirectToRoute('synonyme_new');
  60.             return $this->redirectToRoute('synonyme_index');
  61.         }
  62.         return $this->render('tr_synonyme_syn/new.html.twig', [
  63.             'synonymes' => $trSynonymeSyn,
  64.             'form' => $form->createView(),
  65.         ]);
  66.     }
  67.     /**
  68.      * @Route("/{synonymeId}/edit", name="synonyme_edit", methods={"GET","POST"})
  69.      * @Entity("TrSynonymeSyn", expr="repository.find(synomeId)")
  70.      */
  71.     public function edit(Request $requestTrSynonymeSyn $trSynonymeSyn): Response
  72.     {
  73.         $form $this->createForm(TrSynonymeSynType::class, $trSynonymeSyn);
  74.         $form->handleRequest($request);
  75.         if ($form->isSubmitted() && $form->isValid()) {
  76.             $this->getDoctrine()->getManager()->flush();
  77.             return $this->redirectToRoute('traitatolsynonyme_index');
  78.         }
  79.         return $this->render('tr_synonyme_syn/edit.html.twig', [
  80.             'synonymes' => $trSynonymeSyn,
  81.             'form' => $form->createView(),
  82.         ]);
  83.     }
  84.     /**
  85.      * @Route("/{synonymeId}", name="synonyme_show", methods={"GET"})
  86.      */
  87.     public function show(TrSynonymeSyn $trSynonymeSyn): Response
  88.     {
  89.         return $this->render('tr_synonyme_syn/show.html.twig', [
  90.             'tr_synonyme_syn' => $trSynonymeSyn,
  91.         ]);
  92.     }
  93.     /**
  94.      * @Route("/{synonymeId}", name="synonyme_delete", methods={"POST"})
  95.      */
  96.     public function delete(Request $requestTrSynonymeSyn $synonyme): Response
  97.     {
  98.         if ($this->isCsrfTokenValid('delete' $synonyme->getSynonymeId(), $request->request->get('_token'))) {
  99.             $entityManager $this->getDoctrine()->getManager();
  100.             $entityManager->remove($synonyme);
  101.             $entityManager->flush();
  102.         }
  103.         return $this->redirectToRoute('synonyme_index');
  104.     }
  105. }