src/DcSiteBundle/Controller/Honda/FinanceController.php line 51

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Honda;
  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 DcSiteBundle\Model\Form\ServicesOrderForm;
  12. use Doctrine\ORM\EntityManagerInterface;
  13. use PortalBundle\Model\SeoMetaTag;
  14. use Symfony\Component\Filesystem\Filesystem;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Symfony\Component\HttpFoundation\RequestStack;
  17. use Symfony\Component\HttpFoundation\Response;
  18. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  19. use Symfony\Component\Routing\RouterInterface;
  20. use Twig\Environment;
  21. class     FinanceController extends BaseController
  22. {
  23. public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  24. {
  25.     parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  26. }
  27.     public function credit(Request $requestViDiWorkerModel $viDiWorkerModel): ?Response
  28.     {
  29.         $departments $viDiWorkerModel->getAllByDealer($this->getDealer(),  $request->getLocale());
  30.         $needDepartment $request->getLocale() == 'ru' 'Отдел продаж' 'Відділ продажу';
  31.         $team array_filter($departments, fn($department) => $department['departmentTitle'] === $needDepartment);
  32.         $form $this->CoreFormFactory()->callMeForm(new Forms(), true);
  33.         $form->get('dealer')->setData($this->getDealer());
  34.         return $this->baseHondaRender('@DcSite/Honda/Finance/credit.html.twig', [
  35.             'creditForm' =>  $this->CoreFormFactory()->creditForm($this->getDealer())->createView(),
  36.             'brandId' => $this->getDealer()->getBrand()->getId(),
  37.             'dealerId' => $this->getDealer()->getId(),
  38.             'team' => current($team),
  39.             'callMeForm' => $form->createView(),
  40.         ]);
  41.     }
  42.     public function insurance(): ?Response
  43.     {
  44.         return $this->baseHondaRender('@DcSite/Honda/Finance/insurance.html.twig');
  45.     }
  46.     public function leasing(): ?Response
  47.     {
  48.         return $this->baseHondaRender('@DcSite/Honda/Finance/leasing.html.twig',[
  49.             'leasingCalculatorForm' => $this->CoreFormFactory()->leasingForm()->createView(),
  50.         ]);
  51.     }
  52.     public function tradeIn(): ?Response
  53.     {
  54.         return $this->baseHondaRender('@DcSite/Honda/Finance/tradein.html.twig');
  55.     }
  56.     public function loyalty(): ?Response
  57.     {
  58.         return $this->baseHondaRender('@DcSite/Honda/Finance/loyality.html.twig');
  59.     }
  60.     public function corporate(): ?Response
  61.     {
  62.         return $this->baseHondaRender('@DcSite/Honda/Finance/corporate.html.twig',[
  63.             'serviceOrderForm' => $this->CoreFormFactory()->corpSalesForm($this->getDealer())->createView(),
  64.         ]);
  65.     }
  66.     public function transfer(Request $request): ?Response
  67.     {
  68.         return $this->baseHondaRender('@DcSite/Honda/Finance/transfer.html.twig', [
  69.             'serviceOrderForm' => $this->CoreFormFactory()->servicesOrderForm(ServicesOrderForm::TRANSFER_SERVICE$request->getLocale())->createView(),
  70.         ]);
  71.     }
  72.     public function finance(): ?Response
  73.     {
  74.         return $this->baseHondaRender('@DcSite/Honda/Finance/honda-finance.html.twig');
  75.     }
  76.     public function airport(Request $request): ?Response
  77.     {
  78.         return $this->baseHondaRender('@DcSite/Honda/Finance/airport.html.twig', [
  79.             'serviceOrderForm' => $this->CoreFormFactory()->servicesOrderForm(ServicesOrderForm::AIRPORT_SERVICE$request->getLocale())->createView(),
  80.         ]);
  81.     }
  82.     public function selectPage(): ?Response
  83.     {
  84.         return $this->baseHondaRender('@DcSite/Honda/Finance/vidi-select.html.twig');
  85.     }
  86.     //FOR BUSSINES
  87.     public function forBussines(): ?Response
  88.     {
  89.         return $this->baseHondaRender('@DcSite/Honda/Finance/for-bussines.html.twig', [
  90.             'corpSalesForm' => $this->CoreFormFactory()->corpSalesForm($this->getDealer())->createView()
  91.         ]);
  92.     }
  93.     //landing page
  94.     public function landingTradeIn(): ?Response
  95.     {
  96.         return $this->baseHondaRender('@DcSite/Honda/Finance/landing-trade-in.html.twig');
  97.     }
  98.     public function landingSelectPage(): ?Response
  99.     {
  100.         return $this->baseHondaRender('@DcSite/Honda/Finance/landing-vidi-select.html.twig');
  101.     }
  102.     // Sms landing page
  103.     public function SmsLandingTradeIn(Request $request): ?Response
  104.     {
  105.         if($this->checkSend($request)) {
  106.             return $this->baseHondaRender('@DcSite/Honda/Finance/sms-landing-vidi-select.html.twig');
  107.         }
  108.         $this->sendSmsLead($request);
  109.         return $this->baseHondaRender('@DcSite/Honda/Finance/sms-landing-vidi-select.html.twig');
  110.     }
  111. }