src/DcSiteBundle/Controller/Jeep/ServiceController.php line 102

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Jeep;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Entity\Model;
  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 DcSiteBundle\Services\AccessoryService;
  11. use DcSiteBundle\Services\VehicleService;
  12. use Doctrine\ORM\EntityManagerInterface;
  13. use PortalBundle\Model\SeoMetaTag;
  14. use Symfony\Component\Filesystem\Filesystem;
  15. use Symfony\Component\HttpFoundation\RequestStack;
  16. use Symfony\Component\HttpFoundation\Response;
  17. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  18. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  19. use Symfony\Component\Routing\RouterInterface;
  20. use Twig\Environment;
  21. class ServiceController 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 to(): ?Response
  28.     {
  29.         return $this->baseJeepRender('@DcSite/Jeep/Service/to.html.twig', [
  30.             'dealerName' => $this->getDealer()->getBrand()->getName(),
  31.         ]);
  32.     }
  33.     public function regulationsTo(VehicleService $vehicleService): ?Response
  34.     {
  35.         $models $vehicleService->getModelsForRegulationsTo($this->getDealer());
  36.         return $this->baseJeepRender('@DcSite/Jeep/Service/regulations-to.html.twig', [
  37.             'models' => $models,
  38.         ]);
  39.     }
  40.     public function regulationsToModel($model): ?Response
  41.     {
  42.         $model $this->em->getRepository(Model::class)->findOneBy(['url' => $model]);
  43.         if (!$model) {
  44.             throw new NotFoundHttpException();
  45.         }
  46.         return $this->baseJeepRender('@DcSite/Jeep/Service/regulations-to-single.html.twig', [
  47.             'dealerName' => $this->getDealer()->getBrand()->getName(),
  48.             'model' => $model,
  49.         ]);
  50.     }
  51.     public function bodyRepair(): ?Response
  52.     {
  53.         return $this->baseJeepRender('@DcSite/Jeep/Service/body-repair.html.twig', [
  54.             'repairPhotoForm' => $this->CoreFormFactory()->repairPhotoForm()->createView(),
  55.         ]);
  56.     }
  57.     public function part(): ?Response
  58.     {
  59.         return $this->baseJeepRender('@DcSite/Jeep/Service/part.html.twig', [
  60.             'spareForm' => $this->CoreFormFactory()->buySparePartsForm($this->getDealer())->createView(),
  61.         ]);
  62.     }
  63.     public function accessory(AccessoryService $accessoryService): ?Response
  64.     {
  65.         $vehicleAccessory $accessoryService->getAccessoriesByDealerVehicleType($this->getDealer(), 1);
  66.         return $this->baseJeepRender('@DcSite/Jeep/Service/accessories.html.twig', [
  67.             'vehicleAccessory' => $vehicleAccessory,
  68.         ]);
  69.     }
  70.     public function warranty(): ?Response
  71.     {
  72.         return $this->baseJeepRender('@DcSite/Jeep/Service/warranty.html.twig', [
  73.         ]);
  74.     }
  75.     public function serviceContract(): ?Response
  76.     {
  77.         return $this->baseJeepRender('@DcSite/Jeep/Service/service-contracts.html.twig', [
  78.         ]);
  79.     }
  80.     public function manual(): ?Response
  81.     {
  82.         $vehiclesRepo $this->vehicleRepository->getNewByDealer($this->getDealer());
  83.         $vehicles $this->vehicleFactory->createByEntities($vehiclesRepo);
  84.         return $this->baseJeepRender('@DcSite/Jeep/Service/manual.html.twig', [
  85.             'vehicles' => $vehicles,
  86.         ]);
  87.     }
  88.     public function multiConsultation(): ?Response
  89.     {
  90.         return $this->baseJeepRender('@DcSite/Jeep/Service/consultation.html.twig');
  91.     }
  92.     public function multiConsultationForm(): ?Response
  93.     {
  94.         return $this->baseJeepRender('@DcSite/Jeep/Service/consultation-form.html.twig');
  95.     }
  96.     public function multiConsultationFormOnline(): ?Response
  97.     {
  98.         return $this->baseJeepRender('@DcSite/Jeep/Service/consultation-form-online.html.twig');
  99.     }
  100.     public function multiConsultationTestdriveForm(): ?Response
  101.     {
  102.         return $this->baseJeepRender('@DcSite/Jeep/Service/test-drive.html.twig', [
  103.         ]);
  104.     }
  105.     public function flexCare(): ?Response
  106.     {
  107.         return $this->baseJeepRender('@DcSite/Jeep/Service/jeep-flex-care.html.twig');
  108.     }
  109.     public function nightServiceAgreement(): ?Response
  110.     {
  111.         return $this->baseJeepRender('@DcSite/Jeep/Service/night-service-agreement.html.twig', [
  112.             'dealer' => $this->getDealer()
  113.         ]);
  114.     }
  115. }