fix cart quantity for issue #46
This commit is contained in:
@@ -69,7 +69,8 @@ class Cart extends BaseAction implements EventSubscriberInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($append && $cartItem !== null) {
|
if ($append && $cartItem !== null) {
|
||||||
$this->updateQuantity($cartItem, $quantity);
|
$cartItem->addQuantity($quantity)
|
||||||
|
->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ class CartController extends BaseFrontController
|
|||||||
$cartEvent->setQuantity($this->getRequest()->get("quantity"));
|
$cartEvent->setQuantity($this->getRequest()->get("quantity"));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$this->getDispatcher()->dispatch(TheliaEvents::CART_UPDATEITEM, $cartEvent);
|
$this->dispatch(TheliaEvents::CART_UPDATEITEM, $cartEvent);
|
||||||
|
|
||||||
$this->redirectSuccess();
|
$this->redirectSuccess();
|
||||||
} catch (PropelException $e) {
|
} catch (PropelException $e) {
|
||||||
|
|||||||
@@ -60,14 +60,31 @@ class CartItem extends BaseCartItem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->addQuantity($value);
|
$this->setQuantity($value);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addQuantity($quantity)
|
public function addQuantity($value)
|
||||||
{
|
{
|
||||||
$this->setQuantity($this->getQuantity() + $quantity);
|
$currentQuantity = $this->getQuantity();
|
||||||
|
$newQuantity = $currentQuantity + $value;
|
||||||
|
|
||||||
|
if($value <= 0)
|
||||||
|
{
|
||||||
|
$value = $currentQuantity;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(ConfigQuery::read("verifyStock", 1) == 1)
|
||||||
|
{
|
||||||
|
$productSaleElements = $this->getProductSaleElements();
|
||||||
|
|
||||||
|
if($productSaleElements->getQuantity() < $newQuantity) {
|
||||||
|
$newQuantity = $currentQuantity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setQuantity($newQuantity);
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user