src/Controller/PagesController.php line 69
<?php
namespace App\Controller;
use App\Entity\Contact;
use App\Form\ContactType;
use App\Entity\ActivityRequest;
use App\Form\ActivityRequestType;
use Symfony\Component\Mime\Email;
use App\Repository\ContactRepository;
use App\Repository\ActivityRepository;
use Doctrine\ORM\EntityManagerInterface;
use App\Repository\AbonnementsRepository;
use App\Repository\EmbarcationRepository;
use App\Repository\PartenairesRepository;
use App\Controller\AbstractCustomController;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use App\Repository\ActivityRequestRepository;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class PagesController extends AbstractController
{
#[Route('/contact', name: 'app_contact')]
public function index(Request $request, ContactRepository $contactRepository, MailerInterface $mailer): Response
{
$contact = new Contact();
$form = $this->createForm(ContactType::class, $contact);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// Sauvegarde du contact dans la base de données
$contactRepository->save($contact, true);
// Envoi de l'e-mail de contact
$email = (new Email())
->from('eric.billaut@villennesboat.fr')
->to('dorianclerbout@gmail.com')
->subject('Nouveau message de contact')
->html($this->renderView('emails/contact.html.twig', ['contact' => $contact]));
$mailer->send($email);
return $this->redirectToRoute('app_contact', [], Response::HTTP_SEE_OTHER);
}
return $this->render('pages/contact/index.html.twig', [
'controller_name' => 'PagesController',
'contact' => $contact,
'form' => $form->createView(),
]);
}
#[Route('/formules', name: 'app_formules')]
public function formules(AbonnementsRepository $abonnementsRepository): Response
{
return $this->render('pages/formules/index.html.twig', [
'controller_name' => 'PagesController',
'abonnements' => $abonnementsRepository->findBy(['is_active' => true]),
]);
}
#[Route('/partenaire', name: 'app_partenaire')]
public function partenaire(PartenairesRepository $partenairesRepository): Response
{
return $this->render('pages/partenaire/index.html.twig', [
'controller_name' => 'PagesController',
'partenaires' => $partenairesRepository->findBy(['is_active' => true]),
]);
}
#[Route('/embarcations', name: 'app_embarcations')]
public function embarcations( EmbarcationRepository $embarcationRepository,Request $request, ContactRepository $contactRepository,): Response
{
$contact = new Contact();
$form = $this->createForm(ContactType::class, $contact);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$contactRepository->save($contact, true);
return $this->redirectToRoute('app_home', [], Response::HTTP_SEE_OTHER);
$this->addFlash('success', 'message envoyé');
}
return $this->render('pages/embarcations/index.html.twig', [
'controller_name' => 'PagesController',
'form' => $form,
'embarcations' => $embarcationRepository->findBy(['is_active' => true]),
]);
}
#[Route('/devis', name: 'app_devis')]
public function devis(ActivityRequestRepository $activityRequestRepository, Request $request): Response
{
$activityrequest = new ActivityRequest();
$form = $this->createForm(ActivityRequestType::class, $activityrequest);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$activityRequestRepository->save($activityrequest, true);
$this->addFlash('success', 'Demande envoyé');
return $this->redirectToRoute('app_devis', [], Response::HTTP_SEE_OTHER);
}
return $this->render('pages/devis/index.html.twig', [
'controller_name' => 'PagesController',
'form' => $form,
]);
}
#[Route('/activités', name: 'app_activités')]
public function acivités(Request $request, ActivityRepository $activityRepository, ActivityRequestRepository $activityRequestRepository): Response
{
$activityrequest = new ActivityRequest();
$form = $this->createForm(ActivityRequestType::class, $activityrequest);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$activityRequestRepository->save($activityrequest, true);
$this->addFlash('success', 'Demande envoyé');
return $this->redirectToRoute('app_activités', [], Response::HTTP_SEE_OTHER);
}
return $this->render('pages/activités/index.html.twig', [
'controller_name' => 'PagesController',
'activityrequest' => $activityrequest,
'form' => $form,
'activities' => $activityRepository->findBy(['active' => true]),
]);
}
#[Route('/mentions-légales', name: 'app_mentions')]
public function mentions(): Response
{
return $this->render('pages/mentions/index.html.twig', [
'controller_name' => 'PagesController',
]);
}
#[Route('/cgu', name: 'app_cgu')]
public function cgu(): Response
{
return $this->render('pages/cgu/index.html.twig', [
'controller_name' => 'PagesController',
]);
}
#[Route('/politique de confidentialité', name: 'app_conf')]
public function conf(): Response
{
return $this->render('pages/confidentialite/index.html.twig', [
'controller_name' => 'PagesController',
]);
}
}