change quantity on cartUpdate EventListener

This commit is contained in:
Manuel Raynaud
2013-08-14 16:07:51 +02:00
parent ecb42e906b
commit d1b6b1dae4
2 changed files with 8 additions and 10 deletions

View File

@@ -110,7 +110,7 @@ class Cart extends BaseAction implements EventSubscriberInterface
->filterByCartId($cart->getId())
->filterById($cartItemId)
->findOne();
if ($cartItem) {
$this->updateQuantity($cartItem, $quantity);
}
@@ -155,7 +155,7 @@ class Cart extends BaseAction implements EventSubscriberInterface
protected function updateQuantity(CartItem $cartItem, $quantity)
{
$cartItem->setDisptacher($this->getDispatcher());
$cartItem->addQuantity($quantity)
$cartItem->updateQuantity($quantity)
->save();
}

View File

@@ -41,27 +41,25 @@ class CartItem extends BaseCartItem
* @param $value
* @return $this
*/
public function addQuantity($value)
public function updateQuantity($value)
{
$currentQuantity = $this->getQuantity();
$newQuantity = $currentQuantity + $value;
if($newQuantity <= 0)
if($value <= 0)
{
$newQuantity = $currentQuantity;
$value = $currentQuantity;
}
if(ConfigQuery::read("verifyStock", 1) == 1)
{
$productSaleElements = $this->getProductSaleElements();
if($productSaleElements->getQuantity() < $newQuantity) {
$newQuantity = $currentQuantity;
if($productSaleElements->getQuantity() < $value) {
$value = $currentQuantity;
}
}
$this->setQuantity($newQuantity);
$this->setQuantity($value);
return $this;
}