src/Controller/Website/Site/IndexController.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Website\Site;
  3. use App\Controller\Website\ThemeRenderController;
  4. use App\Repository\Website\Menu\MenuItemRepository;
  5. use App\Repository\Website\Menu\MenuRepository;
  6. use App\Repository\Website\PostType\PostTypeMetaRepository;
  7. use App\Repository\Website\PostType\PostTypeRepository;
  8. use App\Repository\Website\Product\ProductCategoryRepository;
  9. use App\Repository\Website\Product\ProductRepository;
  10. use App\Service\BaseSite\Shop\ShopService;
  11. use App\Service\WebsiteManager;
  12. use Doctrine\ORM\EntityManagerInterface;
  13. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  14. use Symfony\Component\HttpFoundation\JsonResponse;
  15. use Symfony\Component\Routing\Annotation\Route;
  16. class IndexController extends ThemeRenderController
  17. {
  18.     #[Route('/'name'app_shop_site_index')]
  19.     public function index()
  20.     {
  21.        return $this->renderUserTemplate('index.html.twig');
  22.     }
  23.     #[Route('/fill'name'app_shop_site_fill')]
  24.     public function fill(ShopService $shopService WebsiteManager $websiteManager,EntityManagerInterface $entityManager,
  25.         PostTypeRepository $postTypeRepository,
  26.         PostTypeMetaRepository $postTypeMetaRepository,
  27.         ProductCategoryRepository $productCategoryRepository,
  28.         ProductRepository $productRepository,
  29.         MenuRepository $menuRepository,
  30.         MenuItemRepository $menuItemRepository,
  31.     )
  32.     {
  33.         foreach ($productCategoryRepository->findBy(['website' => $websiteManager->getShop()]) as $item) {
  34.             $item->setActive(0);
  35.             $item->setDeletedAt(new \DateTime());
  36.         }
  37.         foreach ($menuRepository->findBy(['website' => $websiteManager->getShop()]) as $item) {
  38.             foreach ($menuItemRepository->findBy(['menu' => $item]) as $itemItem) {
  39.                 $itemItem->setActive(0);
  40.                 $itemItem->setDeletedAt(new \DateTime());
  41.             }
  42.             $item->setActive(0);
  43.             $item->setDeletedAt(new \DateTime());
  44.         }
  45.         foreach ($productRepository->findBy(['website' => $websiteManager->getShop()]) as $item) {
  46.             $item->setActive(0);
  47.             $item->setDeletedAt(new \DateTime());
  48.         }
  49.         foreach ($postTypeRepository->findBy(['website' => $websiteManager->getShop()]) as $item) {
  50.             foreach ($postTypeMetaRepository->findBy(['postType' =>$item]) as $postTypeMeta) {
  51.                 $postTypeMeta->setActive(0);
  52.                 $postTypeMeta->setDeletedAt(new \DateTime());
  53.             }
  54.             $item->setActive(0);
  55.             $item->setDeletedAt(new \DateTime());
  56.         }
  57.         $entityManager->flush();
  58.         $shopService->fillExamplesOnTheme($websiteManager->getShop());
  59.         die;
  60.     }
  61. }