<?php
namespace PortalBundle\Controller;
use CoreBundle\Component\CoreFormFactory;
use CoreBundle\Entity\Dealer;
use CoreBundle\Model\Vehicles\Repository;
use Doctrine\ORM\EntityManagerInterface;
use PortalBundle\Services\ServiceService;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Mime\Email;
use Symfony\Component\Routing\RouterInterface;
class UnicomersController extends BaseController
{
public function __construct(CoreFormFactory $coreFormFactory, RequestStack $requestStack, RouterInterface $router,
Repository $vehicleRepository, ServiceService $serviceService)
{
parent::__construct($coreFormFactory, $requestStack, $router, $vehicleRepository, $serviceService);
}
public function unicomers(SessionInterface $session): Response
{
$token = md5(time().'bftsalterk75per');
$session->set('uni_form_token', $token);
return $this->basePortalRender('@Portal/Unicomers/unicomers.html.twig', [
'unicomersForm' => $this->CoreFormFactory()->feedbackForm()->createView(),
'formToken' => $token,
]);
}
public function ambulance(SessionInterface $session): Response
{
$token = md5(time().'bftsaltyjn43shy');
$session->set('uni_form_token', $token);
return $this->basePortalRender('@Portal/Unicomers/ambulance.html.twig',[
'formToken' => $token,
]);
}
public function cashCollectionCars(SessionInterface $session): Response
{
$token = md5(time().'bftsaltdre94sdw');
$session->set('uni_form_token', $token);
return $this->basePortalRender('@Portal/Unicomers/cash-collection-cars.html.twig',[
'formToken' => $token,
]);
}
// public function boxerCars()
// {
// $token = md5(time().'bftsaltdre94sdw');
// $this->get('session')->set('uni_form_token', $token);
// return $this->basePortalRender('@Portal/Unicomers/boxer.html.twig',[
// 'formToken' => $token,
// ]);
// }
public function armoredCars(): Response
{
return $this->basePortalRender('@Portal/Unicomers/armored-cars.html.twig');
}
public function medykoSanitarneAuto(): Response
{
return $this->basePortalRender('@Portal/Unicomers/medyko-sanitarne-auto.html.twig');
}
public function gpsTreker(SessionInterface $session): Response
{
$token = md5(time().'bftsaltder79sfe');
$session->set('uni_form_token', $token);
return $this->basePortalRender('@Portal/Unicomers/gps-treker.html.twig',[
'formToken' => $token,
]);
}
public function aboutUnicomers(SessionInterface $session, EntityManagerInterface $em): Response
{
$dealers = $em->getRepository(Dealer::class)->findBy([],['position' => 'ASC']);
$logos = [];
foreach ($dealers as $dealer) {
$Brand = $dealer->getBrand();
if(!$Brand) {
continue;
}
if(isset($brands[$Brand->getId()])) {
continue;
}
$logos[] = [
'image' => $Brand->getLogo(),
'name' => $Brand->getName(),
];
}
$token = md5(time().'bftsaltyjn43shy');
$session->set('uni_form_token', $token);
return $this->basePortalRender('@Portal/Unicomers/about-unicomers.html.twig',[
'logos' => $logos,
'formToken' => $token,
]);
}
public function unicomersProjects(SessionInterface $session, EntityManagerInterface $em): Response
{
$dealers = $em->getRepository(Dealer::class)->findBy([],['position' => 'ASC']);
$logos = [];
foreach ($dealers as $dealer) {
$Brand = $dealer->getBrand();
if(!$Brand) {
continue;
}
if(isset($brands[$Brand->getId()])) {
continue;
}
$logos[] = [
'image' => $Brand->getLogo(),
'name' => $Brand->getName(),
];
}
$token = md5(time().'bftsaltyjn43shy');
$session->set('uni_form_token', $token);
return $this->basePortalRender('@Portal/Unicomers/about-projects.html.twig',[
'logos' => $logos,
'formToken' => $token,
]);
}
public function unicomersSave(Request $request, MailerInterface $mailer): JsonResponse
{
$data = $request->request->all();
$message = (new Email())
->subject('Нова заявка vidi.ua')
->from('info@vidi.ua', 'Форма зворотнього зв\'язку')
->html(
$this->basePortalRender('@Portal/Mail/unicomers.html.twig', [
'data' => $data,
]),
'text/html'
)
->to($this->getParameter('email_unicomers'));
$mailer->send($message);
return new JsonResponse(['success' => true]);
}
}