Removed InternalEvent, simplified SecurityContext
This commit is contained in:
@@ -28,8 +28,8 @@ use Thelia\Model\ConfigQuery;
|
||||
use Thelia\Model\Customer;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Thelia\Core\HttpFoundation\Session\Session;
|
||||
use Thelia\Core\Event\Internal\CartEvent;
|
||||
use Thelia\Core\Event\TheliaEvents;
|
||||
use Thelia\Core\Event\CartEvent;
|
||||
|
||||
trait CartTrait
|
||||
{
|
||||
@@ -42,8 +42,9 @@ trait CartTrait
|
||||
*/
|
||||
public function getCart(Request $request)
|
||||
{
|
||||
$session = $request->getSession();
|
||||
|
||||
if (null !== $cart = $request->getSession()->getCart()) {
|
||||
if (null !== $cart = $session->getCart()) {
|
||||
return $cart;
|
||||
}
|
||||
|
||||
@@ -55,26 +56,26 @@ trait CartTrait
|
||||
|
||||
if ($cart) {
|
||||
//le panier existe en base
|
||||
$customer = $request->getSession()->getCustomerUser();
|
||||
$customer = $session->getCustomerUser();
|
||||
|
||||
if ($customer) {
|
||||
if ($cart->getCustomerId() != $customer->getId()) {
|
||||
//le customer du panier n'est pas le mm que celui connecté, il faut cloner le panier sans le customer_id
|
||||
$cart = $this->duplicateCart($cart, $request->getSession(), $customer);
|
||||
$cart = $this->duplicateCart($cart, $session, $customer);
|
||||
}
|
||||
} else {
|
||||
if ($cart->getCustomerId() != null) {
|
||||
//il faut dupliquer le panier sans le customer_id
|
||||
$cart = $this->duplicateCart($cart, $request->getSession());
|
||||
$cart = $this->duplicateCart($cart, $session);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
$cart = $this->createCart($request->getSession());
|
||||
$cart = $this->createCart($session);
|
||||
}
|
||||
} else {
|
||||
//le cookie de panier n'existe pas, il va falloir le créer et faire un enregistrement en base.
|
||||
$cart = $this->createCart($request->getSession());
|
||||
$cart = $this->createCart($session);
|
||||
}
|
||||
|
||||
return $cart;
|
||||
@@ -116,7 +117,7 @@ trait CartTrait
|
||||
$cartEvent = new CartEvent($newCart);
|
||||
$this->getDispatcher()->dispatch(TheliaEvents::CART_DUPLICATE, $cartEvent);
|
||||
|
||||
return $cartEvent->cart;
|
||||
return $cartEvent->getCart();
|
||||
}
|
||||
|
||||
protected function generateCookie()
|
||||
@@ -131,4 +132,4 @@ trait CartTrait
|
||||
return $id;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user