src/Controller/BienController.php line 77

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Bien;
  4. use App\Entity\BienSearch;
  5. use App\Form\BienSearchType;
  6. use App\Form\BienType;
  7. use App\Repository\BienRepository;
  8. use Knp\Component\Pager\PaginatorInterface;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. /**
  14.  * @Route("/nos-biens")
  15.  */
  16. class BienController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/", name="app_biens_index", methods={"GET"})
  20.      */
  21.     public function index(
  22.         BienRepository $bienRepository,
  23.         PaginatorInterface $paginator,
  24.         Request $request
  25.     ): Response {
  26.         //Recherche multicriteres
  27.         $search = new BienSearch();
  28.         $form $this->createForm(BienSearchType::class, $search);
  29.         $form->handleRequest($request);
  30.         // $donnees = $bienRepository->findAll();
  31.         $donnees $bienRepository->findAllVisibleQuery($search);
  32.         $biens $paginator->paginate(
  33.             $donnees,
  34.             $request->query->getInt('page'1),
  35.             9
  36.         );
  37.         return $this->render('biens/index.html.twig', [
  38.             'biens' => $biens,
  39.             'biensTotal' => $bienRepository->findAll(),
  40.             'biensTriville' => $bienRepository->findBy(['ville' => 'ASC'], []),
  41.             'form' => $form->createView(),
  42.             'pageTitle' => 'biens',
  43.         ]);
  44.     }
  45.     // /**
  46.     //  * @Route("/new", name="app_biens_new", methods={"GET", "POST"})
  47.     //  */
  48.     // public function new(Request $request, BienRepository $bienRepository): Response
  49.     // {
  50.     //     $bien = new Bien();
  51.     //     $form = $this->createForm(BienType::class, $bien);
  52.     //     $form->handleRequest($request);
  53.     //     if ($form->isSubmitted() && $form->isValid()) {
  54.     //         $bienRepository->add($bien, true);
  55.     //         return $this->redirectToRoute('app_bien_index', [], Response::HTTP_SEE_OTHER);
  56.     //     }
  57.     //     return $this->renderForm('bien/new.html.twig', [
  58.     //         'bien' => $bien,
  59.     //         'form' => $form,
  60.     //     ]);
  61.     // }
  62.     /**
  63.      * @Route("/{id}", name="app_biens_show", methods={"GET"})
  64.      */
  65.     public function show(Bien $bien): Response
  66.     {
  67.         return $this->render('biens/show.html.twig', [
  68.             'biens' => $bien,
  69.             'pageTitle' => 'biens',
  70.         ]);
  71.     }
  72.     // /**
  73.     //  * @Route("/{id}/edit", name="app_biens_edit", methods={"GET", "POST"})
  74.     //  */
  75.     // public function edit(Request $request, Bien $bien, BienRepository $bienRepository): Response
  76.     // {
  77.     //     $form = $this->createForm(BienType::class, $bien);
  78.     //     $form->handleRequest($request);
  79.     //     if ($form->isSubmitted() && $form->isValid()) {
  80.     //         $bienRepository->add($bien, true);
  81.     //         return $this->redirectToRoute('app_bien_index', [], Response::HTTP_SEE_OTHER);
  82.     //     }
  83.     //     return $this->renderForm('bien/edit.html.twig', [
  84.     //         'bien' => $bien,
  85.     //         'form' => $form,
  86.     //     ]);
  87.     // }
  88.     // /**
  89.     //  * @Route("/{id}", name="app_biens_delete", methods={"POST"})
  90.     //  */
  91.     // public function delete(Request $request, Bien $bien, BienRepository $bienRepository): Response
  92.     // {
  93.     //     if ($this->isCsrfTokenValid('delete'.$bien->getId(), $request->request->get('_token'))) {
  94.     //         $bienRepository->remove($bien, true);
  95.     //     }
  96.     //     return $this->redirectToRoute('app_bien_index', [], Response::HTTP_SEE_OTHER);
  97.     // }
  98. }