custom/plugins/MyKeje/src/Storefront/Controller/MyKejeController.php line 35

Open in your IDE?
  1. <?php
  2. // This is a extended/changed copy from original: \Shopware\Storefront\Controller\AuthController
  3. namespace Okeonline\MyKeje\Storefront\Controller;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Shopware\Storefront\Controller\StorefrontController;
  8. use Shopware\Core\Framework\Routing\Annotation\RouteScope;
  9. use Shopware\Core\System\SalesChannel\SalesChannelContext;
  10. use Okeonline\MyKeje\Storefront\Service\MyKejeOrderService;
  11. use Shopware\Core\Framework\Validation\DataBag\RequestDataBag;
  12. /**
  13.  * @RouteScope(scopes={"storefront"})
  14.  */
  15. class MyKejeController extends StorefrontController {
  16.     /**
  17.      * @var MyKejeOrderService $orderService;
  18.      */
  19.     private $orderService;
  20.     public function __construct(
  21.         MyKejeOrderService $orderService
  22.     )
  23.     {
  24.         $this->orderService = $orderService;
  25.     }
  26.     /**
  27.      * @Route("/mykeje/orders", name="frontend.oo.mykeje.orders", methods={"GET"}, defaults={"XmlHttpRequest"=true})
  28.      */
  29.     public function orders(Request $request, RequestDataBag $data, SalesChannelContext $context): Response
  30.     {
  31.         $this->orderService->setSalesChannelContext($context);
  32.         $limit = $request->get('limit', 25);
  33.         $page = $request->get('p', 1);
  34.         $slot = $request->get('slots');
  35.         $searchTerm = $request->get('searchterm') ?? null;
  36.         $orderSearchEntityResult = $this->orderService->getOrders($limit, $page,  $searchTerm);
  37.         return $this->renderStorefront('@OkeonlineMyKeje/storefront/component/mykeje-order-history.html.twig', [
  38.             'entitySearchResult' => $orderSearchEntityResult,
  39.             'slot' => $slot
  40.         ]);
  41.     }
  42.     /**
  43.      * @Route("/mykeje/orders-by-status", name="frontend.oo.mykeje.orders-by-status", methods={"GET"}, defaults={"XmlHttpRequest"=true})
  44.      */
  45.     public function ordersByStatus(Request $request, RequestDataBag $data, SalesChannelContext $context): Response
  46.     {
  47.         $this->orderService->setSalesChannelContext($context);
  48.         $limit = $request->get('limit', 25);
  49.         $page = $request->get('p', 1);
  50.         $slot = $request->get('slots');
  51.         $searchTerm = $request->get('searchterm') ?? null;
  52.         $orderSearchEntityResult = $this->orderService->getOrdersByStateId(null, $limit);
  53.         return $this->renderStorefront('@OkeonlineMyKeje/storefront/component/mykeje-order-list.html.twig', [
  54.             'entitySearchResult' => $orderSearchEntityResult,
  55.             'searchterm' => $searchTerm,
  56.             'slot' => $slot
  57.         ]);
  58.     }
  59.     /**
  60.      * @Route("/mykeje/orders-history-summary", name="frontend.oo.mykeje.orders-history-summary", methods={"GET"}, defaults={"XmlHttpRequest"=true})
  61.      */
  62.     public function ordersHistorySummary(Request $request, RequestDataBag $data, SalesChannelContext $context): Response
  63.     {
  64.         $this->orderService->setSalesChannelContext($context);
  65.         $limit = $request->get('limit', 25);
  66.         $page = $request->get('p', 1);
  67.         $slot = $request->get('slots');
  68.         $searchTerm = $request->get('searchterm') ?? null;
  69.         $orderSearchEntityResult = $this->orderService->getOrders($limit, $page);
  70.         return $this->renderStorefront('@OkeonlineMyKeje/storefront/component/mykeje-order-list.html.twig', [
  71.             'entitySearchResult' => $orderSearchEntityResult,
  72.             'slot' => $slot
  73.         ]);
  74.     }
  75.     
  76.     /**
  77.      * @Route("/mykeje/orders-history", name="frontend.oo.mykeje.orders-history", methods={"GET"}, defaults={"XmlHttpRequest"=true})
  78.      */
  79.     public function ordersHistory(Request $request, RequestDataBag $data, SalesChannelContext $context): Response
  80.     {
  81.         $this->orderService->setSalesChannelContext($context);
  82.         $limit = $request->get('limit', 25);
  83.         $page = $request->get('p', 1);
  84.         $slot = $request->get('slots');
  85.         $orderSearchEntityResult = $this->orderService->getOrders($limit, $page);
  86.         return $this->renderStorefront('@OkeonlineMyKeje/storefront/component/mykeje-order-history-inner.html.twig', [
  87.             'entitySearchResult' => $orderSearchEntityResult,
  88.             'slot' => $slot
  89.         ]);
  90.     }
  91. }