src/DcSiteBundle/Controller/LandRover/AboutController.php line 34

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\LandRover;
  3. use CoreBundle\Component\CoreFormFactory;
  4. use CoreBundle\Component\FormManager;
  5. use CoreBundle\Entity\Post;
  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\Entity\BodyRepairCertificate;
  12. use DcSiteBundle\Entity\Vacancy;
  13. use Doctrine\ORM\EntityManagerInterface;
  14. use PortalBundle\Model\SeoMetaTag;
  15. use Symfony\Component\Filesystem\Filesystem;
  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\HttpKernel\Exception\NotFoundHttpException;
  21. use Symfony\Component\Routing\RouterInterface;
  22. use Twig\Environment;
  23. class AboutController extends BaseController
  24. {
  25.     public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  26.     {
  27.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  28.     }
  29.     public function aboutDc(): ?Response
  30.     {
  31.         return $this->baseLandRoverRender('@DcSite/LandRover/About/abot-dc.html.twig');
  32.     }
  33.     public function news(): ?Response
  34.     {
  35.         $news $this->em->getRepository(Post::class)->getNewsByDealer($this->getDealer());
  36.         return $this->baseLandRoverRender('@DcSite/LandRover/About/news.html.twig', ['news' => $news]);
  37.     }
  38.     public function newsSingle(\CoreBundle\Model\Post $postModel$url): ?Response
  39.     {
  40.         $post $postModel->initByUrl($this->getDealer(), $url);
  41.         return $this->baseLandRoverRender('@DcSite/LandRover/About/news-single.html.twig', [
  42.             'post' => $post,
  43.         ]);
  44.     }
  45.     public function staff(Request $requestViDiWorkerModel $viDiWorkerModel): ?Response
  46.     {
  47.         $workers $viDiWorkerModel->getAllByDealer($this->getDealer(), $request->getLocale());
  48.         return $this->baseLandRoverRender('@DcSite/LandRover/About/staff.html.twig', [
  49.             'workers' => $workers,
  50.         ]);
  51.     }
  52.     public function vacancy(): ?Response
  53.     {
  54.         $vacancies $this->em->getRepository(Vacancy::class)->getByDealer($this->getDealer());
  55.         return $this->baseLandRoverRender('@DcSite/LandRover/About/vacancy.html.twig', [
  56.             'vacancies' => $vacancies,
  57.         ]);
  58.     }
  59.     public function vacancySingle($id): ?Response
  60.     {
  61.         $vacancy $this->em->getRepository(Vacancy::class)->getByID($id);
  62.         if (!$vacancy) {
  63.             throw new NotFoundHttpException();
  64.         }
  65.         return $this->baseLandRoverRender('@DcSite/LandRover/About/vacancy-single.html.twig', [
  66.             'vacancy' => $vacancy,
  67.             'vacancyForm' => $this->get('core.form.factory')->vacancyForm($this->getDealer(), $vacancy)->createView(),
  68.         ]);
  69.     }
  70.     public function contacts(): ?Response
  71.     {
  72.         return $this->baseLandRoverRender('@DcSite/LandRover/About/contacts.html.twig');
  73.     }
  74.     public function quality(): ?Response
  75.     {
  76.         return $this->baseLandRoverRender('@DcSite/LandRover/About/quality-policy.html.twig');
  77.     }
  78.     public function personalData(): ?Response
  79.     {
  80.         return $this->baseLandRoverRender('@DcSite/LandRover/About/personal-data-policy.html.twig', ['dealer' => $this->getDealer()]);
  81.     }
  82.     public function delivery(): ?Response
  83.     {
  84.         return $this->baseLandRoverRender('@DcSite/LandRover/About/delivery.html.twig', ['dealer' => $this->getDealer()]);
  85.     }
  86.     public function publicOffer(): ?Response
  87.     {
  88.         return $this->baseLandRoverRender('@DcSite/LandRover/About/public-offer.html.twig', ['dealer' => $this->getDealer()]);
  89.     }
  90.     public function returnRefundPolicies(): ?Response
  91.     {
  92.         return $this->baseLandRoverRender('@DcSite/LandRover/return-refund-policies.html.twig');
  93.     }
  94.     public function bodyRepairCertificate(): ?Response
  95.     {
  96.         $files $this->em->getRepository(BodyRepairCertificate::class)
  97.             ->findBy(['dealer' => $this->getDealer()], ['begin_date' => 'ASC']);
  98.         return $this->baseLandRoverRender('@DcSite/LandRover/body-repair-certificate.html.twig', [
  99.             'mainFile' => array_pop($files),
  100.             'files' => $files,
  101.             'dealer' => $this->getDealer(),
  102.         ]);
  103.     }
  104. }