src/DcSiteBundle/Controller/Nissan/AboutUsController.php line 106

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Nissan;
  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\Post;
  8. use CoreBundle\Model\Vehicles\Repository;
  9. use CoreBundle\Model\ViDiWorkerModel;
  10. use CoreBundle\Services\MediaExtensionVidi;
  11. use DcSiteBundle\Entity\Vacancy;
  12. use DcSiteBundle\Model\Form\ServicesOrderForm;
  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 AboutUsController 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 contacts(): ?Response
  30.     {
  31.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/contacts.html.twig');
  32.     }
  33.     public function aboutDc(): ?Response
  34.     {
  35.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/about-nissan.html.twig');
  36.     }
  37.     public function staff(Request $requestViDiWorkerModel $model): ?Response
  38.     {
  39.         $workers $model->getAllByDealer($this->getDealer(), $request->getLocale());
  40.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/staff.html.twig', [
  41.             'workers' => $workers,
  42.         ]);
  43.     }
  44.     public function news(): ?Response
  45.     {
  46.         $Dealer $this->getDealer();
  47.         $news $this->em->getRepository(\CoreBundle\Entity\Post::class)->getNewsByDealer($Dealer);
  48.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/news.html.twig', ['news' => $news]);
  49.     }
  50.     public function newsSingle(Request $requestPost $postModel): ?Response
  51.     {
  52.         $post $postModel->initByUrl($this->getDealer(), $request->get('url'), Post::POST_TYPE_NEWS);
  53.         $toread $post->getReadMore();
  54.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/news-single.html.twig', [
  55.             'post' => $post,
  56.             'toread' => $toread,
  57.             'serviceOrderForm' => $this->CoreFormFactory()->servicesOrderForm(ServicesOrderForm::LEASING)->createView()
  58.         ]);
  59.     }
  60.     public function personalData(): ?Response
  61.     {
  62.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/personal-data-policy.html.twig', ['dealer' => $this->getDealer()]);
  63.     }
  64.     public function quality(): ?Response
  65.     {
  66.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/quality.html.twig');
  67.     }
  68.     //    Вакансії
  69.     public function vacancy(): ?Response
  70.     {
  71.         $vacancies $this->em->getRepository(Vacancy::class)->getByDealer($this->getDealer());
  72.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/vacancy.html.twig', [
  73.             'vacancies' => $vacancies,
  74.         ]);
  75.     }
  76.     //    Вакансія ID
  77.     public function vacancyId($id): ?Response
  78.     {
  79.         $vacancy $this->em->getRepository(Vacancy::class)->getByID($id);
  80.         if (!$vacancy) {
  81.             throw new NotFoundHttpException();
  82.         }
  83.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/vacancy-id.html.twig', [
  84.             'vacancy' => $vacancy,
  85.             'vacancyForm' => $this->CoreFormFactory()->vacancyForm($this->getDealer(), $vacancy)->createView(),
  86.         ]);
  87.     }
  88.     public function publicOffer(): ?Response
  89.     {
  90.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/public-offer.html.twig', ['dealer' => $this->getDealer()]);
  91.     }
  92.     public function returnRefundPolicies(): ?Response
  93.     {
  94.         return $this->baseNissanRender('@DcSite/Nissan/AboutUs/return-refund-policies.html.twig');
  95.     }
  96. }