<?php
namespace App\Controller;
use App\Form\Feedback\FeedbackType;
use App\Service\Email;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Annotation\Route;
class FeedbackController extends AbstractController
{
/**
* @Route("/feedback/request", name="feedback.request")
*/
public function index(Request $request, Email $email, MailerInterface $mailer): Response
{
$form = $this->createForm(FeedbackType::class);
$form->handleRequest($request);
if ($form->isSubmitted() and $form->isValid()) {
$message = $email->create('feedback_request', [
'name' => strip_tags($form->get('name')->getData()),
'email' => strip_tags($form->get('email')->getData()),
'description' => strip_tags($form->get('email')->getData()),
])->to($this->getParameter('manager_email'));
$mailer->send($message);
return $this->redirectToRoute('feedback.finish');
}
return $this->render('feedback/request.html.twig', [
'form' => $form->createView()
]);
}
/**
* @Route("/feedback/finish", name="feedback.finish")
*/
public function send(): Response
{
return $this->render('feedback/finish.html.twig');
}
}