src/DcSiteBundle/Controller/Jeep/MainController.php line 64

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Jeep;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Factory\Vehicle as VehicleFactory;
  6. use CoreBundle\Model\Api\OnlineService\ApiServer1C;
  7. use CoreBundle\Model\Vehicles\Repository;
  8. use CoreBundle\Services\MediaExtensionVidi;
  9. use DcSiteBundle\Entity\MainSlider;
  10. use DcSiteBundle\Entity\SalesContract;
  11. use DcSiteBundle\Entity\TermsMaintenance;
  12. use Doctrine\ORM\EntityManagerInterface;
  13. use PortalBundle\Model\SeoMetaTag;
  14. use Symfony\Component\Filesystem\Filesystem;
  15. use Symfony\Component\HttpFoundation\RedirectResponse;
  16. use Symfony\Component\HttpFoundation\Request;
  17. use Symfony\Component\HttpFoundation\RequestStack;
  18. use Symfony\Component\HttpFoundation\Response;
  19. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  20. use Symfony\Component\Routing\RouterInterface;
  21. use Twig\Environment;
  22. class MainController extends BaseController
  23. {
  24. public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  25. {
  26.     parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  27. }
  28.     public function redirectJeep(): RedirectResponse
  29.     {
  30.         return $this->redirectToRoute('jeep_homepage',[],301);
  31.     }
  32.     public function index(): ?Response
  33.     {
  34.         $vehiclesRepo $this->vehicleRepository->getNewByDealer($this->getDealer(), [], true);
  35.         $vehicles $this->vehicleFactory->createByEntities($vehiclesRepo);
  36.         $sliders $this->em->getRepository(MainSlider::class)->getMainSlidersByDealer($this->getDealer());
  37.         return $this->baseJeepRender('@DcSite/Jeep/Main/index.html.twig', [
  38.             'vehicles' => $vehicles,
  39.             'sliders' => $sliders,
  40.         ]);
  41.     }
  42.     public function notFound(Request $request): ?Response
  43.     {
  44.         $Response = new Response();
  45.         $Response->setStatusCode(Response::HTTP_NOT_FOUND);
  46.         return $this->baseJeepRender('@DcSite/Jeep/404.html.twig', ['_locale' => $request->getLocale()],$Response);
  47.     }
  48.     public function conditionOfSales(): ?Response
  49.     {
  50.         $filesByType $this->em->getRepository(SalesContract::class)->getFilesByTypes($this->getDealer());
  51.         return $this->baseJeepRender('@DcSite/Jeep/condition-of-sales.html.twig', [
  52.             'filesByType' => $filesByType,
  53.         ]);
  54.     }
  55.     public function termsMaintenance(): ?Response
  56.     {
  57.         $files $this->em->getRepository(TermsMaintenance::class)->findBy(['dealer' => $this->getDealer()], ['begin_date' => 'ASC']);
  58.         return $this->baseJeepRender('@DcSite/Jeep/terms-maintenance.html.twig', [
  59.             'mainFile' => array_pop($files),
  60.             'files' => $files,
  61.             'dealer' => $this->getDealer(),
  62.         ]);
  63.     }
  64. }