src/DcSiteBundle/Controller/Suzuki/FinanceController.php line 55

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Suzuki;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Entity\Forms;
  6. use CoreBundle\Factory\Vehicle as VehicleFactory;
  7. use CoreBundle\Model\Api\OnlineService\ApiServer1C;
  8. use CoreBundle\Model\Vehicles\Repository;
  9. use CoreBundle\Model\ViDiWorkerModel;
  10. use CoreBundle\Services\MediaExtensionVidi;
  11. use Doctrine\ORM\EntityManagerInterface;
  12. use PortalBundle\Model\SeoMetaTag;
  13. use Symfony\Component\Filesystem\Filesystem;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\HttpFoundation\RequestStack;
  16. use Symfony\Component\HttpFoundation\Response;
  17. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  18. use Symfony\Component\Routing\RouterInterface;
  19. use Twig\Environment;
  20. class FinanceController extends BaseController
  21. {
  22.     public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  23.     {
  24.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  25.     }
  26.     public function credit(Request $requestViDiWorkerModel $viDiWorkerModel): ?Response
  27.     {
  28.         $departments $viDiWorkerModel->getAllByDealer($this->getDealer(), $request->getLocale());
  29.         $needDepartment $request->getLocale() == 'ru' 'Отдел продаж' 'Відділ продажу';
  30.         $team array_filter($departments, fn($department) => $department['departmentTitle'] === $needDepartment);
  31.         $form $this->CoreFormFactory()->callMeForm(new Forms(), true);
  32.         $form->get('dealer')->setData($this->getDealer());
  33.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/credit.html.twig', [
  34.             'creditForm' => $this->CoreFormFactory()->creditForm($this->getDealer())->createView(),
  35.             'brandId' => $this->getDealer()->getBrand()->getId(),
  36.             'dealerId' => $this->getDealer()->getId(),
  37.             'team' => current($team),
  38.             'callMeForm' => $form->createView(),
  39.         ]);
  40.     }
  41.     public function tradeIn(): ?Response
  42.     {
  43.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/trade-in.html.twig');
  44.     }
  45.     public function insurance(): ?Response
  46.     {
  47.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/insurance.html.twig', [
  48.             'servicesForm' => $this->CoreFormFactory()->fbDefQuestionForm('Интересует Страхование'nullnull$this->getDealer())->createView(),
  49.         ]);
  50.     }
  51.     public function assistance(): ?Response
  52.     {
  53.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/assistance.html.twig');
  54.     }
  55.     public function airport(): ?Response
  56.     {
  57.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/airport.html.twig', [
  58.             'servicesForm' => $this->CoreFormFactory()->fbDefQuestionForm('Интересует Аэропорт сервис'nullnull$this->getDealer())->createView(),
  59.         ]);
  60.     }
  61.     public function carBussiness(): ?Response
  62.     {
  63.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/car-for-bussines-new.html.twig', [
  64.             'corpSalesForm' => $this->CoreFormFactory()->corpSalesForm($this->getDealer())->createView()
  65.         ]);
  66.     }
  67.     public function leasing(): ?Response
  68.     {
  69.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/leasing.html.twig', [
  70.             'leasingCalculatorForm' => $this->CoreFormFactory()->leasingForm()->createView()
  71.         ]);
  72.     }
  73.     public function loyaltyProgram(): ?Response
  74.     {
  75.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/loyalty-program.html.twig', [
  76.             'corpSalesForm' => $this->CoreFormFactory()->corpSalesForm($this->getDealer())->createView()
  77.         ]);
  78.     }
  79.     public function conversionPogram(): ?Response
  80.     {
  81.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/conversion-program.html.twig', [
  82.             'corpSalesForm' => $this->CoreFormFactory()->corpSalesForm($this->getDealer())->createView()
  83.         ]);
  84.     }
  85.     public function selectPage(): ?Response
  86.     {
  87.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/vidi-select.html.twig');
  88.     }
  89.     //landing page
  90.     public function landingTradeIn(): ?Response
  91.     {
  92.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/landing-trade-in.html.twig');
  93.     }
  94.     public function landingSelectPage(): ?Response
  95.     {
  96.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/landing-vidi-select.html.twig');
  97.     }
  98.     // Sms landing page
  99.     public function SmsLandingTradeIn(Request $request): ?Response
  100.     {
  101.         if ($this->checkSend($request)) {
  102.             return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/sms-landing-vidi-select.html.twig');
  103.         }
  104.         $this->sendSmsLead($request);
  105.         return $this->baseSuzukiRender('@DcSite/Suzuki/Finance/sms-landing-vidi-select.html.twig');
  106.     }
  107. }