src/DcSiteBundle/Controller/Subaru/AccessoriesController.php line 59

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\Vehicles\Repository;
  8. use CoreBundle\Services\MediaExtensionVidi;
  9. use DcSiteBundle\Services\AccessoryShopService;
  10. use Doctrine\ORM\EntityManagerInterface;
  11. use PortalBundle\Model\SeoMetaTag;
  12. use Symfony\Component\Filesystem\Filesystem;
  13. use Symfony\Component\HttpFoundation\RedirectResponse;
  14. use Symfony\Component\HttpFoundation\RequestStack;
  15. use Symfony\Component\HttpFoundation\Response;
  16. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  17. use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
  18. use Symfony\Component\Routing\RouterInterface;
  19. use Twig\Environment;
  20. class AccessoriesController extends BaseController
  21. {
  22.     public function __construct(CoreFormFactory $coreFormFactorySeoMetaTag $seoMetaTagRequestStack $requestStackRouterInterface $routerFormManager $formManagerEntityManagerInterface $emApiServer1C $apiServer1CSessionInterface $sessionFilesystem $filesystemMediaExtensionVidi $mediaExtensionVidiRepository $vehicleRepositoryVehicleFactory $vehicleFactoryEnvironment $twig)
  23.     {
  24.         parent::__construct($coreFormFactory$seoMetaTag$requestStack$router$formManager$em$apiServer1C$session$filesystem$mediaExtensionVidi$vehicleRepository$vehicleFactory$twig);
  25.     }
  26.     const MAIN_ACCESSORY_GROUP_ID 258;
  27.     public function accessoriesCatalog(AccessoryShopService $accessoryShopService): ?Response
  28.     {
  29.         $dealer $this->getDealer();
  30.         $accessoryCatalog $accessoryShopService->getAccessoryCatalog($dealerself::MAIN_ACCESSORY_GROUP_ID);
  31.         return $this->baseSubaruRender('@DcSite/Subaru/Accessories/accessories-catalog.html.twig'$accessoryCatalog);
  32.     }
  33.     public function accessoriesCategory(AccessoryShopService $accessoryShopService): ?Response
  34.     {
  35.         $dealer $this->getDealer();
  36.         $accessoryCatalog $accessoryShopService->getAccessoryCategory($dealerself::MAIN_ACCESSORY_GROUP_ID);
  37.         if (!$accessoryCatalog['accessoryCount']) {
  38.             throw new NotFoundHttpException();
  39.         } else {
  40.             return $this->baseSubaruRender('@DcSite/Subaru/Accessories/accessories-catalog.html.twig'$accessoryCatalog);
  41.         }
  42.     }
  43.     public function accessoriesModel(AccessoryShopService $accessoryShopService): ?Response
  44.     {
  45.         $dealer $this->getDealer();
  46.         $accessoryModel $accessoryShopService->getAccessoryModel($dealerself::MAIN_ACCESSORY_GROUP_ID);
  47.         return $this->baseSubaruRender('@DcSite/Subaru/Accessories/accessories-catalog.html.twig'$accessoryModel);
  48.     }
  49.     public function accessoriesPage(AccessoryShopService $accessoryShopService): ?Response
  50.     {
  51.         $dealer $this->getDealer();
  52.         $accessoryPage $accessoryShopService->getAccessoryPage($dealer);
  53.         return $this->baseSubaruRender('@DcSite/Subaru/Accessories/accessories-page.html.twig'$accessoryPage);
  54.     }
  55.     public function accessoriesModelVariation(AccessoryShopService $accessoryShopService): ?Response
  56.     {
  57.         $dealer $this->getDealer();
  58.         $accessoryModel $accessoryShopService->getAccessoryModelAndVariation($dealer);
  59.         return $this->baseSubaruRender('@DcSite/Subaru/Accessories/accessories-catalog.html.twig'$accessoryModel);
  60.     }
  61.     public function redirectOldAccessories(): RedirectResponse
  62.     {
  63.         return $this->redirect('https://shop.subaru-vidi.com.ua/'Response::HTTP_MOVED_PERMANENTLY);
  64.     }
  65. }