<?php
namespace App\Controller\User;
use App\Repository\ArrayJsonRepository;
use App\Repository\Order\CartRepository;
use App\Repository\UserRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class CartController extends AbstractController
{
#[Route('/cart', name: 'app_user_cart')]
public function lastCart(CartRepository $cartRepository, ArrayJsonRepository $arrayJsonRepository): Response
{
$dynamicLinkArray = $arrayJsonRepository->findOneBy(['name' => 'dynamic_link']);
if ($dynamicLinkArray == null) {
$dynamicLink = null;
} else {
$dynamicLink = $dynamicLinkArray->getContent() ?? null;
}
$user = $this->getUser();
$cart = null;
if ($user) {
$cart = $cartRepository->findLastCart($user);
}
return $this->render('user/cart/current.html.twig', [
'controller_name' => 'CartController',
'cart' => $cart,
'user' => $user,
'dynamicLink' => $dynamicLink,
]);
}
#[Route('/user/carts', name: 'app_user_carts')]
public function index(UserRepository $userRepository, CartRepository $cartRepository, ArrayJsonRepository $arrayJsonRepository): Response
{
$dynamicLinkArray = $arrayJsonRepository->findOneBy(['name' => 'dynamic_link']);
if ($dynamicLinkArray == null) {
$dynamicLink = null;
} else {
$dynamicLink = $dynamicLinkArray->getContent() ?? null;
}
$user = $userRepository->findOneBy(['email' => $this->getUser()->getUserIdentifier()]);
$carts = $cartRepository->findCartsByUser($user);
return $this->render('user/cart/carts.html.twig', [
'controller_name' => 'CartController',
'carts' => $carts,
'user' => $user,
'dynamicLink' => $dynamicLink,
]);
}
}