src/Controller/Front/PageTemplatesController.php line 93

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  */
  5. namespace App\Controller\Front;
  6. use App\Entity\AbonnementPay;
  7. use App\Entity\BesoinProductFavoris;
  8. use App\Entity\BesoinProductPage;
  9. use App\Entity\BesoinProductPageCategory;
  10. use App\Entity\Cart;
  11. use App\Entity\CartDetail;
  12. use App\Entity\CompteAbonnementPro;
  13. use App\Entity\CompteAbonnementProCommandesFactures;
  14. use App\Entity\CompteAbonnementProFacture;
  15. use App\Entity\NosCrea;
  16. use App\Entity\Orders;
  17. use App\Entity\Page\Page;
  18. use App\Entity\Product;
  19. use App\Entity\Stats;
  20. use App\Entity\StuartOrder;
  21. use App\Entity\User;
  22. use App\Entity\UserStripe;
  23. use App\Services\AbonnementService;
  24. use App\Services\AvisVerifiesService;
  25. use App\Services\CartService;
  26. use App\Services\CheckoutService;
  27. use App\Services\FactureService;
  28. use App\Services\MerchPack;
  29. use App\Services\NbDesigner;
  30. use App\Services\Notifications;
  31. use App\Services\OrderService;
  32. use App\Services\ReferalCandyService;
  33. use App\Services\StripeConnect;
  34. use App\Services\StripeConnectTest;
  35. use Spipu\Html2Pdf\Html2Pdf;
  36. use Stripe\Invoice;
  37. use Stripe\Subscription;
  38. use Symfony\Component\Finder\Finder;
  39. use Symfony\Component\HttpFoundation\RedirectResponse;
  40. use Symfony\Component\Routing\Annotation\Route;
  41. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  42. use Twig\Environment;
  43. use Symfony\Component\HttpFoundation\Response;
  44. use Symfony\Component\HttpFoundation\Request;
  45. use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
  46. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  47. use Doctrine\ORM\EntityManagerInterface;
  48. use Symfony\Contracts\Translation\TranslatorInterface;
  49. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  50. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  51. use JouwWeb\SendCloud\Client;
  52. use JouwWeb\SendCloud\Model\Address;
  53. use JouwWeb\SendCloud\Model\Parcel;
  54. use JouwWeb\SendCloud\Model\WebhookEvent;
  55. use JouwWeb\SendCloud\Exception\SendCloudRequestException;
  56. use App\Services\SendCloudApi;
  57. use App\Services\DelivreeService;
  58. use Stripe\Stripe;
  59. use Stripe\Customer;
  60. use Stripe\PaymentMethod;
  61. /**
  62.  * @Route("/page-20000-templates" )
  63.  */
  64. class PageTemplatesController extends AbstractController
  65. {
  66.     private $em;
  67.     private $session;
  68.     private $cartService;
  69.     public function __construct(
  70.         ParameterBagInterface $params,
  71.         TranslatorInterface $trans,
  72.         EntityManagerInterface $em,
  73.         CartService $cartService,
  74.         NbDesigner $nbDesigner
  75.     ) {
  76.         $this->em $em;
  77.         $this->trans $trans;
  78.         $this->params $params;
  79.         $this->cartService $cartService;
  80.         $this->nbDesigner $nbDesigner;
  81.     }
  82.     /**
  83.      * @Route("/", name="page_templates_20000")
  84.      */
  85.     public function PageTemplates(Request $request) : Response
  86.     {
  87.         $data $this->nbDesigner->getBlocksTemplate20000Page();
  88.         $response $this->render('front/page-templates-20000/index.html.twig',['data'=>$data]);
  89.         return $response;
  90.     }
  91.     /**
  92.      * @Route("/search", name="search_page_templates",options={"expose"=true})
  93.      */
  94.     public function pageTemplatesProduct(Request $request) : Response
  95.     {
  96.         $requestData $request->query->get('search');
  97.         $data $this->nbDesigner->searchTemplate20000Page($request,$requestData);
  98.         $response = new Response(json_encode($data,true));
  99.         return $response;
  100.     }
  101.     /**
  102.      * @Route("/get-blocs-plus", name="page_templates_20000_bloc_plus",options={"expose"=true})
  103.      */
  104.     public function PageTemplatesBlocsPlus(Request $request) : Response
  105.     {
  106.         $data $this->nbDesigner->getBlocksTemplate20000PagePlus($request);
  107.         $response $this->render('front/page-templates-20000/content-cat.html.twig',['data'=>$data]);
  108.         return $response;
  109.     }
  110.     /**
  111.      * @Route("/template-page-crello-add-to-cart/{id}", name="template_page_crollo_add_to_cart",options={"expose"=true})
  112.      */
  113.     public function templatePageCrelloAddToCart(Request $request,$id): Response
  114.     {
  115.         $data $this->nbDesigner->addToCartNewNbDesignerTemplatePageNosCrea($request,$this->getUser(),$id);
  116.         if($data){
  117.             $redirect =  $this->generateUrl('product_option', array('token'=>$data->getToken(),'product'=>$data->getProduct()->getId()));
  118.         }else{
  119.             $redirect $this->generateUrl('besoin_produits');
  120.         }
  121.         $responce = new Response();
  122.         $responce->setContent($redirect);
  123.         return $responce;
  124.     }
  125.     /**
  126.      * @Route("/template-page-category-crello-add-to-cart/{id}", name="template_page_category_crollo_add_to_cart",options={"expose"=true})
  127.      */
  128.     public function templatePageCategoryCrelloAddToCart(Request $request,$id): Response
  129.     {
  130.         $data $this->nbDesigner->addToCartNewNbDesignerTemplatePageCategoryNosCrea($request,$this->getUser(),$id);
  131.         if($data){
  132.             $redirect =  $this->generateUrl('product_option', array('token'=>$data->getToken(),'product'=>$data->getProduct()->getId()));
  133.         }else{
  134.             $redirect $this->generateUrl('besoin_produits');
  135.         }
  136.         $responce = new Response();
  137.         $responce->setContent($redirect);
  138.         return $responce;
  139.     }
  140. }