<?php
namespace App\Controller;
use App\Form\DemoRequestType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;
class DemoController extends AbstractController
{
/**
* @Route("/request-demo", name="request_demo", methods={"GET","POST"})
*/
public function requestDemo(Request $request, MailerInterface $mailer): Response
{
$form = $this->createForm(DemoRequestType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$data = $form->getData();
$to = 'info@ctssys.com'; // CHANGE THIS to your receiving inbox
$body =
"Demo Request\n".
"Institution: {$data['institution']}\n".
"Role: {$data['role']}\n".
"Name: {$data['name']}\n".
"Email: {$data['email']}\n".
"Phone: ".($data['phone'] ?? '')."\n\n".
"Notes:\n".($data['message'] ?? '');
$email = (new Email())
->from($to) // keep FROM as your domain for deliverability
->replyTo($data['email']) // so you can reply to the requester
->to($to)
->subject('CogniEdu - Demo Request')
->text($body);
$mailer->send($email);
$this->addFlash('success', 'Thanks — your demo request has been submitted.');
return $this->redirectToRoute('request_demo');
}
return $this->render('demo/request_demo.html.twig', [
'form' => $form->createView(),
]);
}
}