src/Controller/FeedbackController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Form\Feedback\FeedbackType;
  4. use App\Service\Email;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Mailer\MailerInterface;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class FeedbackController extends AbstractController
  11. {
  12.     /**
  13.      * @Route("/feedback/request", name="feedback.request")
  14.      */
  15.     public function index(Request $requestEmail $emailMailerInterface $mailer): Response
  16.     {
  17.         $form $this->createForm(FeedbackType::class);
  18.         $form->handleRequest($request);
  19.         if ($form->isSubmitted() and $form->isValid()) {
  20.             $message $email->create('feedback_request', [
  21.                 'name'    => strip_tags($form->get('name')->getData()),
  22.                 'email' => strip_tags($form->get('email')->getData()),
  23.                 'description'   => strip_tags($form->get('email')->getData()),
  24.             ])->to($this->getParameter('manager_email'));
  25.             $mailer->send($message);
  26.             return $this->redirectToRoute('feedback.finish');
  27.         }
  28.         return $this->render('feedback/request.html.twig', [
  29.             'form' => $form->createView()
  30.         ]);
  31.     }
  32.     /**
  33.      * @Route("/feedback/finish", name="feedback.finish")
  34.      */
  35.     public function send(): Response
  36.     {
  37.         return $this->render('feedback/finish.html.twig');
  38.     }
  39. }