<?php
namespace App\Controller;
use App\Entity\Contenu\Page;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
/**
* Class PageController
* @package App\Controller
*/
class PageController extends AbstractController
{
/**
* @Route("/protection-des-donnees", name="page.confidentialite", defaults={"seoEntity" = "Contenu\Page", "id" : Page::PAGE_CONFIDENTIALITE})
* @ParamConverter("page", class="App:Contenu\Page", options={"repository_method"="findById", "map_method_signature" = true})
* @return Response
*/
/*public function confidentialite(Page $page): Response
{
return $this->render('page/detail.html.twig', [
'page' => $page,
]);
}*/
/**
* @Route("/mentions-legales", name="page.mentions", defaults={"seoEntity" = "Contenu\Page", "id" : Page::PAGE_MENTIONS})
* @ParamConverter("page", class="App:Contenu\Page", options={"repository_method"="findById", "map_method_signature" = true})
* @return Response
*/
/*public function mentionsAction(Page $page): Response
{
return $this->render('page/detail.html.twig', [
'page' => $page,
]);
}*/
/**
* @Route("/contact", name="page.contact", defaults={"seoEntity" = "Contenu\Page", "id" : Page::PAGE_CONTACT})
* @ParamConverter("page", class="App:Contenu\Page", options={"repository_method"="findById", "map_method_signature" = true})
* @return Response
*/
public function contactAction(Page $page): Response
{
if (false === $page->getVisible()) {
throw $this->createNotFoundException('La page demandée n\'existe pas');
}
return $this->render('page/contact.html.twig', [
'page' => $page
]);
}
/**
* @Route("/declarer-un-effet-indesirable", name="page.declarer-effet-indesirable", defaults={"seoEntity" = "Contenu\Page", "id" : Page::PAGE_DECLARER_EFFET_INDESIRABLE})
* @ParamConverter("page", class="App:Contenu\Page", options={"repository_method"="findById", "map_method_signature" = true})
* @return Response
*/
public function declarerEffetIndesirableAction(Page $page): Response
{
if (false === $page->getVisible()) {
throw $this->createNotFoundException('La page demandée n\'existe pas');
}
return $this->render('page/declarer_effet_indesirable.html.twig', [
'page' => $page
]);
}
/**
* @Route("/{slug}", name="page.detail", defaults={"seoEntity" = "Contenu\Page"}, requirements={"slug":".+"})
* @ParamConverter("page", class="App:Contenu\Page", options={"repository_method"="findByTranslatedSlug", "map_method_signature" = true})
* @return Response
*/
public function detail(Page $page): Response
{
if (false === $page->getVisible()) {
throw $this->createNotFoundException('La page demandée n\'existe pas');
}
return $this->render('page/detail.html.twig', [
'page' => $page
]);
}
}