src/Controller/Front/OffreEmploiController.php line 22
<?phpnamespace App\Controller\Front;use App\Entity\Contrats;use App\Entity\Domaines;use App\Entity\Region;use App\Repository\OffreEmploiRepository;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;class OffreEmploiController extends AbstractController{public function __construct(private EntityManagerInterface $entityManager, private OffreEmploiRepository $offreEmploiRepository){}#[Route('/offres-emploi', name: 'app_offre_emploi_list')]public function recherche(Request $request): Response{$domaines = $this->entityManager->getRepository(Domaines::class)->findAll();$regions = $this->entityManager->getRepository(Region::class)->findAll();$contrats = $this->entityManager->getRepository(Contrats::class)->findAll();$domaine = $request->get('domaine');$region = $request->get('region');$contrat = $request->get('contrat');if (null === $domaine && null === $region && null === $contrat) {$offreEmplois = $this->offreEmploiRepository->findBy(['visible' => true]);} else {$offreEmplois = $this->offreEmploiRepository->findBySearch($domaine, $region, $contrat);}return $this->render('front/offre_emploi/index.html.twig', ['domaines' => $domaines,'regions' => $regions,'contrats' => $contrats,'domaineSearch' => $domaine,'regionSearch' => $region,'contratSearch' => $contrat,'offreEmplois' => $offreEmplois,]);}#[Route('/offre-emploi/{offreEmploi<[0-9]\d*>}', name: 'app_offre_emploi_detail'),Route('/offre-emploi/{slug}', name: 'app_offre_emploi_detail_slug')]public function detail(?int $offreEmploi,?string $slug): Response {if (!$slug) {$offreEmploi = $this->offreEmploiRepository->find($offreEmploi);} else {$offreEmploi = $this->offreEmploiRepository->findOneBy(['slug' => $slug]);}if (null === $offreEmploi || (!$this->isGranted('ROLE_ADMIN') && false === $offreEmploi->isVisible())) {throw $this->createNotFoundException('Page not found');}if ($this->isGranted('ROLE_ADMIN') && false === $offreEmploi->isVisible()) {$this->addFlash('success', 'Cette page est visible car vous ĂȘte administrateur');}$offreEmplois = $this->offreEmploiRepository->findOther($offreEmploi);return $this->render('front/offre_emploi/detail.html.twig', ['offreEmploi' => $offreEmploi,'offreEmplois' => $offreEmplois,]);}}