src/Controller/Marketplace/AllEventsController.php line 30

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Marketplace;
  3. use App\Entity\Workshop;
  4. use App\Form\Marketplace\SearchType;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Knp\Component\Pager\PaginatorInterface;
  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 AllEventsController extends AbstractController
  12. {
  13.     /**
  14.      * @var EntityManagerInterface
  15.      */
  16.     private $em;
  17.     public function __construct(EntityManagerInterface $em)
  18.     {
  19.         $this->em $em;
  20.     }
  21.     
  22.     /**
  23.      * @Route("/voir-tous-les-ateliers", name="app_event_all")
  24.      */
  25.     public function seeAllEvents(Request $requestPaginatorInterface $paginator): Response
  26.     {
  27.         $data = [];
  28.         if(!empty($request->query->get('env'))){
  29.             if ($request->query->get('env') == 'collective') {
  30.                 $data['isVirtual'] = false;
  31.             }else{
  32.                 $data['isVirtual'] = true;
  33.             }
  34.         }
  35.         $form $this->createForm(SearchType::class, $data, ['categorySearch' => true'allSearch' => true,  'method' => 'GET']);
  36.         $form->handleRequest($request);
  37.         $marketplaceCategs = [];
  38.         if ($form->isSubmitted() && $form->isValid()) {
  39.             $data $form->getData();
  40.             $family $data['family'];
  41.             // $marketplaceCategs = $this->em->getRepository(MarketplaceCategory::class)->findCollectiveCategories($family);
  42.         }
  43.         try {
  44.             $params = [
  45.                 'marketplaceIsDisplay' => true,
  46.                 'isVirtual' => $data['isVirtual'
  47.             ];
  48.             if (!empty($family)) {
  49.                 $params['marketplaceFamily'] = $family;
  50.             }
  51.             // $workshops = $this->em->getRepository(Workshop::class)->findBy($params) ?? [];
  52.             $qb $this->em->getRepository(Workshop::class)->findMarketplaceWorkshopsQuery($params);
  53.            
  54.             $pagination $paginator->paginate(
  55.                 $qb->getQuery(),
  56.                 $request->query->getInt('page'1),
  57.                 $request->query->getInt('count'10)
  58.             );
  59.         } catch (\Throwable $th) {
  60.             //throw $th;
  61.         }
  62.         return $this->render('marketplace/all_events/list_search_result.html.twig', [
  63.             'searchForm' => $form->createView(),
  64.             // 'category' => $category,
  65.             'workshops' => $pagination ?? [],
  66.             'seeAll' => true
  67.         ]);
  68.     }
  69. }