src/DcSiteBundle/Controller/Subaru/AboutController.php line 66

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Controller\Subaru;
  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 Doctrine\ORM\EntityManagerInterface;
  13. use PortalBundle\Model\SeoMetaTag;
  14. use Symfony\Component\Filesystem\Filesystem;
  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\HttpKernel\Exception\NotFoundHttpException;
  20. use Symfony\Component\Routing\RouterInterface;
  21. use Twig\Environment;
  22. class AboutController extends MainController
  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 aboutUs(): ?Response
  29.     {
  30.         return $this->baseSubaruRender('@DcSite/Subaru/About/about.html.twig');
  31.     }
  32.     public function loyalityProgram(): ?Response
  33.     {
  34.         return $this->baseSubaruRender('@DcSite/Subaru/About/loyality.html.twig');
  35.     }
  36.     public function news(): ?Response
  37.     {
  38.         $news $this->em->getRepository(\CoreBundle\Entity\Post::class)->getNewsByDealer($this->getDealer());
  39.         return $this->baseSubaruRender('@DcSite/Subaru/About/news.html.twig', ['news' => $news]);
  40.     }
  41.     public function newsSingle(Post $postModel$url): ?Response
  42.     {
  43.         $post $postModel->initByUrl($this->getDealer(), $urlPost::POST_TYPE_NEWS);
  44.         $toread $post->getReadMore();
  45.         return $this->baseSubaruRender('@DcSite/Subaru/About/news-single.html.twig', [
  46.             'post' => $post,
  47.             'toRead' => $toread
  48.         ]);
  49.     }
  50.     public function staff(Request $requestViDiWorkerModel $viDiWorkerModel): ?Response
  51.     {
  52.         $workers $viDiWorkerModel->getAllByDealer($this->getDealer(), $request->getLocale());
  53.         return $this->baseSubaruRender('@DcSite/Subaru/About/staff.html.twig', [
  54.             'workers' => $workers,
  55.         ]);
  56.     }
  57.     public function qualityPoliticks(): ?Response
  58.     {
  59.         return $this->baseSubaruRender('@DcSite/Subaru/About/quality.html.twig');
  60.     }
  61.     public function personalData(): ?Response
  62.     {
  63.         return $this->baseSubaruRender('@DcSite/Subaru/About/personal-data-policy.html.twig', ['dealer' => $this->getDealer()]);
  64.     }
  65.     //    Вакансії
  66.     public function vacancy(): ?Response
  67.     {
  68.         $vacancies $this->em->getRepository(Vacancy::class)->getByDealer($this->getDealer());
  69.         return $this->baseSubaruRender('@DcSite/Subaru/About/vacancy.html.twig', [
  70.             'vacancies' => $vacancies,
  71.         ]);
  72.     }
  73.     //    Вакансія ID
  74.     public function vacancyId($id): ?Response
  75.     {
  76.         $vacancy $this->em->getRepository(Vacancy::class)->getByID($id);
  77.         if (!$vacancy) {
  78.             throw new NotFoundHttpException();
  79.         }
  80.         return $this->baseSubaruRender('@DcSite/Subaru/About/vacancy-id.html.twig', [
  81.             'vacancy' => $vacancy,
  82.             'vacancyForm' => $this->CoreFormFactory()->vacancyForm($this->getDealer(), $vacancy)->createView(),
  83.         ]);
  84.     }
  85.     public function publicOffer(): ?Response
  86.     {
  87.         return $this->baseSubaruRender('@DcSite/Subaru/About/public-offer.html.twig', ['dealer' => $this->getDealer()]);
  88.     }
  89.     public function returnRefundPolicies(): ?Response
  90.     {
  91.         return $this->baseSubaruRender('@DcSite/Subaru/About/return-refund-policies.html.twig');
  92.     }
  93. }