vendor/sylius/sylius/src/Sylius/Bundle/CoreBundle/Controller/OrderController.php line 44

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Sylius package.
  4.  *
  5.  * (c) Paweł Jędrzejewski
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. declare(strict_types=1);
  11. namespace Sylius\Bundle\CoreBundle\Controller;
  12. use FOS\RestBundle\View\View;
  13. use Sylius\Bundle\OrderBundle\Controller\OrderController as BaseOrderController;
  14. use Sylius\Component\Core\Repository\OrderRepositoryInterface;
  15. use Symfony\Component\HttpFoundation\Request;
  16. use Symfony\Component\HttpFoundation\Response;
  17. use Webmozart\Assert\Assert;
  18. class OrderController extends BaseOrderController
  19. {
  20.     public function summaryAction(Request $request): Response
  21.     {
  22.         $configuration $this->requestConfigurationFactory->create($this->metadata$request);
  23.         $cart $this->getCurrentCart();
  24.         if (null !== $cart->getId()) {
  25.             $orderRepository $this->getOrderRepository();
  26.             Assert::isInstanceOf($orderRepositoryOrderRepositoryInterface::class);
  27.             $cart $orderRepository->findCartForSummary($cart->getId());
  28.         }
  29.         if (!$configuration->isHtmlRequest()) {
  30.             return $this->viewHandler->handle($configurationView::create($cart));
  31.         }
  32.         $form $this->resourceFormFactory->create($configuration$cart);
  33.         return $this->render(
  34.             $configuration->getTemplate('summary.html'),
  35.             [
  36.                 'cart' => $cart,
  37.                 'form' => $form->createView(),
  38.             ],
  39.         );
  40.     }
  41.     public function thankYouAction(Request $request): Response
  42.     {
  43.         $configuration $this->requestConfigurationFactory->create($this->metadata$request);
  44.         $orderId $request->getSession()->get('sylius_order_id'null);
  45.         if (null === $orderId) {
  46.             $options $configuration->getParameters()->get('after_failure');
  47.             return $this->redirectHandler->redirectToRoute(
  48.                 $configuration,
  49.                 $options['route'] ?? 'sylius_shop_homepage',
  50.                 $options['parameters'] ?? [],
  51.             );
  52.         }
  53.         $request->getSession()->remove('sylius_order_id');
  54.         $order $this->repository->find($orderId);
  55.         Assert::notNull($order);
  56.         return $this->render(
  57.             $configuration->getParameters()->get('template'),
  58.             [
  59.                 'order' => $order,
  60.             ],
  61.         );
  62.     }
  63. }