modify addQuantity method

This commit is contained in:
Manuel Raynaud
2013-08-07 17:03:30 +02:00
parent 02faa94cb4
commit de171e3a26

View File

@@ -7,6 +7,7 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Thelia\Core\Event\CartEvent; use Thelia\Core\Event\CartEvent;
use Thelia\Core\Event\TheliaEvents; use Thelia\Core\Event\TheliaEvents;
use Thelia\Model\Base\CartItem as BaseCartItem; use Thelia\Model\Base\CartItem as BaseCartItem;
use Thelia\Model\ConfigQuery;
class CartItem extends BaseCartItem class CartItem extends BaseCartItem
{ {
@@ -26,9 +27,41 @@ class CartItem extends BaseCartItem
} }
} }
public function postUpdate(ConnectionInterface $con = null)
{
if ($this->dispatcher) {
$cartEvent = new CartEvent($this->getCart());
$this->dispatcher->dispatch(TheliaEvents::CART_MODIFYITEM, $cartEvent);
}
}
/**
* @param $value
* @return $this
*/
public function addQuantity($value) public function addQuantity($value)
{ {
$this->setQuantity($this->getQuantity() + $value); $currentQuantity = $this->getQuantity();
$newQuantity = $currentQuantity + $value;
if($newQuantity <= 0)
{
$newQuantity = $currentQuantity;
}
if(ConfigQuery::read("verifyStock", 1) == 1)
{
$productSaleElements = $this->getProductSaleElements();
if($productSaleElements->getQuantity() < $newQuantity) {
$newQuantity = $currentQuantity;
}
}
$this->setQuantity($currentQuantity);
return $this; return $this;
} }