<?php
/**
* Created by PhpStorm.
* User: michael
* Date: 10/12/2019
* Time: 15:57
*/
namespace App\Controller\Front;
use App\Entity\HearingMaker;
use App\Form\FilterHearingMakerType;
use App\Form\Model\FilterHearingMakerModel;
use App\Repository\HearingMakerRepository;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class HearingMakerController extends AbstractController {
/**
* @Route("/fabricants", name="hearing_maker_list")
* @param HearingMakerRepository $hearingMakerRepository
* @param PaginatorInterface $paginator
* @param Request $request
* @return Response
*/
public function showAllHearingMakerAction(HearingMakerRepository $hearingMakerRepository, PaginatorInterface $paginator, Request $request): Response
{
$search = new FilterHearingMakerModel();
$form = $this->createForm(FilterHearingMakerType::class, $search);
$form->handleRequest($request);
$pagination = $paginator->paginate(
$hearingMakerRepository->getFilteredHearingMaker($search),
$request->query->getInt('page', 1)
);
return $this->render('front_v4/mca/hearing_maker/list.html.twig', [
'pagination' => $pagination,
'form' => $form->createView()
]);
}
/**
* @Route("/fabricant/{slug}", name="hearing_maker_show", methods={"GET", "POST"})
* @param HearingMaker $hearingMaker
* @return Response
*/
public function indexHearingMakerAction(HearingMaker $hearingMaker): Response
{
return $this->render('front_v4/mca/hearing_maker/single.html.twig', [
'hearingMaker' => $hearingMaker,
]);
}
}