src/Controller/Web/HomeController.php line 27
<?phpnamespace App\Controller\Web;use App\Facade\Order\OrderDTO;use App\Facade\Order\OrderMapper;use App\Form\Web\Contact\ContactType;use App\Form\Web\Order\OrderType;use App\Mailer\OrderMailer;use App\Repository\Catalogue\CategoryRepository;use App\Repository\Catalogue\OptionRepository;use App\Repository\Catalogue\ProductRepository;use App\Repository\Navigation\NavigationRepository;use App\Repository\Order\OrderRepository;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\HttpFoundation\ResponseHeaderBag;use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;use Symfony\Component\Routing\Annotation\Route;use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;#[Route(path: '/')]final class HomeController extends WebController{#[Route(path: '', name: 'homepage')]#[Template]public function indexAction(Request $request,OptionRepository $optionRepository,OrderMapper $mapper,OrderMailer $mailer) {$freeOptions = $optionRepository->findBy(['free' => true]);$paidOptions = $optionRepository->findBy(['free' => false]);$form = $this->createForm(OrderType::class);$form->handleRequest($request);if ($form->isSubmitted() && $form->isValid()) {/** @var OrderDTO $dto */$dto = $form->getData();$order = $mapper->mapDTO($dto);$mailer->sendEmail($order);$this->addFlash('success', 'Vaše poptávka byla úspěšně odeslána, v nejbližší době vás budeme kontaktovat.');return $this->redirectToRoute('homepage');}$formContact = $this->createForm(ContactType::class);$formContact->handleRequest($request);if ($formContact->isSubmitted() && $formContact->isValid()) {$contactData = $formContact->getData();$mailer->sendContactEmail($contactData, 'rezervace@garazemlynskyrybnik.cz');$this->addFlash('success', 'Váš dotaz byl úspěšně odeslán, v nejbližší době vás budeme kontaktovat.');return $this->redirectToRoute('homepage');}return ['free_options' => $freeOptions,'paid_options' => $paidOptions,'form' => $form->createView(),'form_contact' => $formContact->createView(),];}#[Route(path: '/svg', name: 'homepage_svg')]public function svgAction(ProductRepository $repository) {$svg = $this->render('web/home/svg.html.twig', ['products' => $repository->findBy(['deleted' => false]),])->getContent();$response = new Response($svg);$disposition = $response->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_INLINE,'garage.svg');$response->headers->set('Content-Disposition', $disposition);return $response;}}