src/Controller/HomeController.php line 22

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Contact;
  4. use App\Form\ContactType;
  5. use App\Entity\NewsletterSubscriber;
  6. use App\Repository\ContactRepository;
  7. use App\Form\NewsletterSubscriberType;
  8. use App\Repository\ActivityRepository;
  9. use App\Repository\AbonnementsRepository;
  10. use App\Repository\ActualityRepository;
  11. use App\Repository\EmbarcationRepository;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\HttpFoundation\Response;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  16. class HomeController extends AbstractController
  17. {
  18.     #[Route('/'name'app_home')]
  19.     public function index(Request $requestContactRepository $contactRepositoryActivityRepository $activityRepositoryEmbarcationRepository $embarcationRepositoryAbonnementsRepository $abonnementsRepository,ActualityRepository $actualityRepository): Response
  20.     {
  21.         $contact = new Contact();
  22.         $form $this->createForm(ContactType::class, $contact);
  23.         $form->handleRequest($request);
  24.         if ($form->isSubmitted() && $form->isValid()) {
  25.             $contactRepository->save($contacttrue);
  26.             return $this->redirectToRoute('app_home', [], Response::HTTP_SEE_OTHER);
  27.             $this->addFlash('success''message envoyé');
  28.         }
  29.         
  30.         return $this->render('home/index.html.twig', [
  31.             'controller_name' => 'HomeController',
  32.             'activities' => $activityRepository->findBy(['active' => true]),
  33.             'embarcations' => $embarcationRepository->findBy(['is_active' => true]),
  34.             'abonnements' => $abonnementsRepository->findBy(['is_active' => true]),
  35.             'actualities' => $actualityRepository->findAll(),
  36.             'form' => $form,
  37.         ]);
  38.     }
  39.    
  40. }