src/Controller/TjTraitatolsynonymeTrsController.php line 32

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\TTraitatolTra;
  4. use App\Entity\TjTraitatolsynonymeTrs;
  5. use App\Entity\TrSynonymeSyn;
  6. use App\Repository\TrSynonymeRepository;
  7. use App\Repository\TraitatolRepository;
  8. use App\Form\TjTraitatolsynonymeTrsType;
  9. use App\Filter\Entity\SynonymeTraitSearch;
  10. use Knp\Component\Pager\PaginatorInterface;
  11. use App\Filter\Form\SynonymeTraitFilterType;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\HttpFoundation\Response;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use App\Repository\TjTraitatolsynonymeRepository;
  16. use ATOLBundle\Entity\Synonyme;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
  19. /**
  20.  * @Route("/traitatolsynonyme")
  21.  */
  22. class TjTraitatolsynonymeTrsController extends AbstractController
  23. {
  24.     /**
  25.      * @Route("/", name="traitatolsynonyme_index", methods={"GET", "POST"})
  26.      */
  27.     public function index(TjTraitatolsynonymeRepository $tjTraitatolsynonymeRepositoryRequest $requestPaginatorInterface $paginator): Response
  28.     {
  29.         $search = new SynonymeTraitSearch();
  30.         $form $this->createForm(SynonymeTraitFilterType::class, $search);
  31.         $form->handleRequest($request);
  32.         $maxItemPerPage $request->get('maxItemPerPage');
  33.         if ($maxItemPerPage == "")    $maxItemPerPage 10;
  34.         $entities $tjTraitatolsynonymeRepository->findAllVisibleQuery($search);   //$traitatolRepository->findAllVisibleQuery($search);
  35.         $nb count($entities);
  36.         $entitiesPaginated $paginator->paginate(
  37.             $entities,
  38.             $request->query->getInt('page'1),
  39.             $maxItemPerPage
  40.         );
  41.         $data = [
  42.             'synonymes' => $entitiesPaginated,
  43.             'nb' => $nb,
  44.             'maxItemPerPage' => $maxItemPerPage,
  45.             'form' => $form->createView()
  46.         ];
  47.         $rep $this->render("tj_traitatolsynonyme_trs/index.html.twig"$data);
  48.         return $rep;
  49.     }
  50.     /**
  51.      * @Route("/new/{atolId}", name="traitatolsynonyme_new", methods={"GET","POST"})
  52.      * @ParamConverter("TjTraitatolsynonymeTrs", options={"id"="atolId"})
  53.      */
  54.     public function new(Request $requestTrSynonymeRepository $synonymeRepositoryTraitatolRepository $traitAtolRepository): Response
  55.     {
  56.         $synonymeAtol = new TjTraitatolsynonymeTrs();
  57.         $traitId $request->attributes->get('atolId');
  58.         $trait $traitAtolRepository->findOneBy(['traitId' => $traitId]);
  59.         $synonymeAtol->setSynonymeTrait($trait);
  60.         $form $this->createForm(TjTraitatolsynonymeTrsType::class, $synonymeAtol);
  61.         $form->handleRequest($request);
  62.         if ($form->isSubmitted()) {
  63.             $entityManager $this->getDoctrine()->getManager();
  64.             $synonyme $synonymeRepository->find($request->request->get('tj_traitatolsynonyme_trs')["synonyme"]);
  65.             if ($synonyme == null) {
  66.                 $synonyme = new TrSynonymeSyn();
  67.                 $synonyme->setSynonymeNom($request->request->get('tj_traitatolsynonyme_trs')["synonyme"]);
  68.                 $synonyme->setSynonymeNomEn($request->request->get('tj_traitatolsynonyme_trs')["synonyme"]);
  69.                 $entityManager->persist($synonyme);
  70.                 $entityManager->flush();
  71.                 $synonymeAtol->setSynonyme($synonyme);
  72.             }
  73.             $entityManager->persist($synonymeAtol);
  74.             $entityManager->flush();
  75.             if ($form->getClickedButton() === $form->get('saveAndAdd')) {
  76.                 return $this->redirectToRoute('traitatolsynonyme_new', ['atolId' => $synonymeAtol->getSynonymeTrait()->getTraitId()]);
  77.             } else return $this->redirectToRoute('traitatol_index');
  78.         }
  79.         return $this->render('tj_traitatolsynonyme_trs/new.html.twig', [
  80.             'synonymes' => $synonymeAtol,
  81.             'form' => $form->createView(),
  82.         ]);
  83.     }
  84.     /**
  85.      * @Route("/ajout", name="traitatolsynonyme_ajout", methods={"GET","POST"})
  86.      */
  87.     public function new2(Request $requestTraitatolRepository $traitAtolRepository): Response
  88.     {
  89.         $synonyme = new TjTraitatolsynonymeTrs();
  90.         $form $this->createForm(TjTraitatolsynonymeTrsType::class, $synonyme);
  91.         $form->handleRequest($request);
  92.         if ($form->isSubmitted() && $form->isValid()) {
  93.             $entityManager $this->getDoctrine()->getManager();
  94.             $entityManager->persist($synonyme);
  95.             $entityManager->flush();
  96.             return $this->redirectToRoute('traitatol_index');
  97.         }
  98.         return $this->render('tj_traitatolsynonyme_trs/new.html.twig', [
  99.             'tj_traitatolsynonyme_tr' => $synonyme,
  100.             'var' => $synonyme,
  101.             'form' => $form->createView(),
  102.         ]);
  103.     }
  104.     /**
  105.      * @Route("/show/{synonymeTrait}", name="traitatolsynonyme_show", methods={"GET"}, options= {"expose":"true"})
  106.      */
  107.     public function show(TjTraitatolsynonymeTrs $tjTraitatolsynonymeTrTjTraitatolsynonymeRepository $synRepTraitatolRepository $traitRepstring $synonymeTrait): Response
  108.     {
  109.         $entities $synRep->findBySynonymeTrait($synonymeTrait);
  110.         $data = [
  111.             'synonymes' => $entities
  112.         ];
  113.         $rep $this->render("tj_traitatolsynonyme_trs/show.html.twig"$data);
  114.         return $rep;
  115.     }
  116.     /**
  117.      * @Route("/{synonymeId}/edit", name="traitatolsynonyme_edit", methods={"GET","POST"}, requirements={"synonymeId":"\d+"})
  118.      * @ParamConverter("TjTraitatolsynonymeTrs", options={"id"="synonymeId"})
  119.      */
  120.     public function edit(Request $requestTjTraitatolsynonymeTrs $tjTraitatolsynonymeTr): Response
  121.     {
  122.         $form $this->createForm(TjTraitatolsynonymeTrsType::class, $tjTraitatolsynonymeTr);
  123.         $form->handleRequest($request);
  124.         if ($form->isSubmitted() && $form->isValid()) {
  125.             $this->getDoctrine()->getManager()->flush();
  126.             return $this->redirectToRoute('tj_traitatolsynonyme_trs_index');
  127.         }
  128.         return $this->render('tj_traitatolsynonyme_trs/edit.html.twig', [
  129.             'tj_traitatolsynonyme_tr' => $tjTraitatolsynonymeTr,
  130.             'form' => $form->createView(),
  131.         ]);
  132.     }
  133.     /**
  134.      * @Route("/{synonymeId}", name="traitatolsynonyme_delete", methods={"POST"})
  135.      * @ParamConverter("TjTraitatolsynonymeTrs", options={"id"="synonymeId"})
  136.      */
  137.     public function delete(Request $requestTjTraitatolsynonymeTrs $tjTraitatolsynonymeTr): Response
  138.     {
  139.         if ($this->isCsrfTokenValid('delete' $tjTraitatolsynonymeTr->getSynonymeId(), $request->request->get('_token'))) {
  140.             $entityManager $this->getDoctrine()->getManager();
  141.             $entityManager->remove($tjTraitatolsynonymeTr);
  142.             $entityManager->flush();
  143.         }
  144.         return $this->redirectToRoute('traitatolsynonyme_index');
  145.     }
  146.     /**
  147.      * @Route("/delete/{id}", name="traitatolsynonyme_delete_by_get", methods={"GET"})
  148.      */
  149.     public function deleteByGet(Request $requestTjTraitatolsynonymeTrs $tjTraitatolsynonymeTr): Response
  150.     {
  151.         $idAtol $tjTraitatolsynonymeTr->getSynonymeTrait()->getTraitId();
  152.         $entityManager $this->getDoctrine()->getManager();
  153.         $entityManager->remove($tjTraitatolsynonymeTr);
  154.         $entityManager->flush();
  155.         return $this->redirectToRoute('traitatolsynonyme_new', [
  156.             'atolId' => $idAtol,
  157.         ]);
  158.     }
  159. }