src/DcSiteBundle/Controller/Unicommerce/FinanceController.php line 31

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Unicommerce;
  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\Services\MediaExtensionVidi;
  10. use DateTime;
  11. use Doctrine\ORM\EntityManagerInterface;
  12. use PortalBundle\Model\SeoMetaTag;
  13. use Symfony\Component\Filesystem\Filesystem;
  14. use Symfony\Component\HttpFoundation\JsonResponse;
  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 serviceContracts(): ?Response
  28.     {
  29.         return $this->baseUnicommerceRender('@DcSite/Unicommerce/Finance/service-contracts.html.twig', [
  30.         ]);
  31.     }
  32.     public function leasing(): ?Response
  33.     {
  34.         $token md5(time() . 'bftsaltdre94sdw');
  35.         return $this->baseUnicommerceRender('@DcSite/Unicommerce/Finance/leasing.html.twig', [
  36.             'formToken' => $token,
  37.             'leasingCalculatorForm' => $this->CoreFormFactory()->leasingForm()->createView(),
  38.         ]);
  39.     }
  40.     public function insurance(): ?Response
  41.     {
  42.         return $this->baseUnicommerceRender('@DcSite/Unicommerce/Finance/insurance.html.twig', [
  43.             'servicesForm' => $this->CoreFormFactory()->fbDefQuestionForm('Интересует страхование спецтехники'nullnull$this->getDealer())->createView(),
  44.         ]);
  45.     }
  46.     public function serviceBuyBack(): ?Response
  47.     {
  48.         return $this->baseUnicommerceRender('@DcSite/Unicommerce/Finance/service-buy-back.html.twig', [
  49.             'fleetUpdateForm' => $this->CoreFormFactory()->unicommerceFleetUpdate()->createView(),
  50.         ]);
  51.     }
  52.     public function saveFleetUpdateForm(Request $request): JsonResponse
  53.     {
  54.         return $this->formManager->saveFleetUpdate($request$this->getDealer());
  55.     }
  56.     public function saveLeasingForm(Request $request): JsonResponse
  57.     {
  58.         $feedbackEntity = new Forms();
  59.         $feedbackEntity->setDomain($request->getHost());
  60.         $feedbackEntity->setDateCreate(new DateTime());
  61.         $feedbackEntity->setType(1);
  62.         $feedbackEntity->setDealer($this->getDealer());
  63.         $form $this->CoreFormFactory()->feedbackQuestionForm($feedbackEntity);
  64.         $form->handleRequest($request);
  65.         $this->em->persist($feedbackEntity);
  66.         $this->em->flush();
  67.         return new JsonResponse(['success' => true]);
  68.     }
  69. }