src/Controller/PortalController.php line 33
<?phpnamespace App\Controller;use App\Form\ContactFormType;use Backend\Entity\Vehicle;use Backend\Entity\VehicleCategory;use Backend\Entity\VehicleGallery;use Doctrine\ORM\EntityManagerInterface;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Mailer\Exception\TransportExceptionInterface;use Symfony\Component\Mailer\MailerInterface;use Symfony\Component\Mime\Address;use Symfony\Component\Mime\Email;use Symfony\Component\Routing\Annotation\Route;class PortalController extends AbstractController{#[Route('/', name: 'web_home')]public function home(EntityManagerInterface $entityManager): Response{$vehicles = $entityManager->getRepository(Vehicle::class)->findAllByCategory();return $this->render('web/home.html.twig', ['vehicles' => $vehicles]);}#[Route('/nosotros', name: 'web_about')]public function about(): Response{return $this->render('web/about.html.twig');}#[Route('/servicios', name: 'web_services')]public function services(): Response{return $this->render('web/services.html.twig');}#[Route('/vehiculos', name: 'web_vehicles')]public function vehicles(EntityManagerInterface $entityManager): Response{$vehicleCategories = $entityManager->getRepository(VehicleCategory::class)->findAll();$vehicles = $entityManager->getRepository(Vehicle::class)->findAllByModel();return $this->render('web/vehicles/vehicle-search.html.twig', ['vehicleCategories' => $vehicleCategories,'vehicles' => $vehicles]);}#[Route('/vehiculo/{id}', name: 'web_vehicle_detail')]public function vehicleDetail(EntityManagerInterface $entityManager, int $id): Response{$vehicle = $entityManager->getRepository(Vehicle::class)->find($id);$gallery = $entityManager->getRepository(VehicleGallery::class)->findBy(['vehicle' => $id]);return $this->render('web/vehicles/vehicle-detail.html.twig', ['vehicle' => $vehicle,'gallery' => $gallery]);}#[Route('/contacto', name: 'web_contact')]public function contact(Request $request, MailerInterface $mailer): Response{$form = $this->createForm(ContactFormType::class);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {$data = $form->getData();$email = (new Email())->from(new Address('reservaciones@benibussac.com', 'Contacto Benibussac.com'))->to('reservaciones@benibussac.com')//->cc('cc@example.com')->bcc('lreyes.miguel@gmail.com')->replyTo(new Address($data['email'], $data['name']))//->priority(Email::PRIORITY_HIGH)->subject('Pruebas: Benibus contacto - ' . $data['name'])->html('<p>Se reelizó un consulta por la página web.</p>' .'<p><b>Nombre:</b> ' . $data['name'] . '</p>' .'<p><b>Celular:</b> ' . $data['phone'] . '</p>' .'<p><b>Mensaje:</b> ' . $data['message'] . '</p>');try {$mailer->send($email);$this->addFlash('success','El correo fue enviado exitosamente.');} catch (TransportExceptionInterface $e) {dump($e);}return $this->redirectToRoute('web_contact');}return $this->render('web/contact.html.twig', ['form' => $form->createView(),]);}}