add cart item id on order product save event

This commit is contained in:
Manuel Raynaud
2014-03-28 09:18:03 +01:00
committed by Boyquotes
parent e0c1bd6d6e
commit c893629bfd
4 changed files with 48 additions and 2 deletions

View File

@@ -266,6 +266,7 @@ class Order extends BaseAction implements EventSubscriberInterface
->setTaxRuleTitle($taxRuleI18n->getTitle()) ->setTaxRuleTitle($taxRuleI18n->getTitle())
->setTaxRuleDescription($taxRuleI18n->getDescription()) ->setTaxRuleDescription($taxRuleI18n->getDescription())
->setEanCode($pse->getEanCode()) ->setEanCode($pse->getEanCode())
->setCartIemId($cartItem->getId())
->setDispatcher($dispatcher) ->setDispatcher($dispatcher)
->save($con) ->save($con)
; ;

View File

@@ -40,6 +40,8 @@ class OrderEvent extends ActionEvent
protected $status = null; protected $status = null;
protected $deliveryRef = null; protected $deliveryRef = null;
protected $cartItemId = null;
/** /**
* @var Response * @var Response
*/ */
@@ -61,6 +63,26 @@ class OrderEvent extends ActionEvent
$this->order = $order; $this->order = $order;
} }
/**
* @param null $cartItemId
*/
public function setCartItemId($cartItemId)
{
$this->cartItemId = $cartItemId;
return $this;
}
/**
* @return null
*/
public function getCartItemId()
{
return $this->cartItemId;
}
/** /**
* @param Order $order * @param Order $order
*/ */

View File

@@ -11,12 +11,34 @@ class OrderProduct extends BaseOrderProduct
{ {
use \Thelia\Model\Tools\ModelEventDispatcherTrait; use \Thelia\Model\Tools\ModelEventDispatcherTrait;
protected $cartIemId;
/**
* @param mixed $cartIemId
*/
public function setCartIemId($cartIemId)
{
$this->cartIemId = $cartIemId;
return $this;
}
/**
* @return mixed
*/
public function getCartIemId()
{
return $this->cartIemId;
}
/** /**
* {@inheritDoc} * {@inheritDoc}
*/ */
public function preInsert(ConnectionInterface $con = null) public function preInsert(ConnectionInterface $con = null)
{ {
$this->dispatchEvent(TheliaEvents::ORDER_PRODUCT_BEFORE_CREATE, new OrderEvent($this->getOrder())); $this->dispatchEvent(TheliaEvents::ORDER_PRODUCT_BEFORE_CREATE, (new OrderEvent($this->getOrder()))->setCartItemId($this->cartIemId));
return true; return true;
} }
@@ -26,6 +48,6 @@ class OrderProduct extends BaseOrderProduct
*/ */
public function postInsert(ConnectionInterface $con = null) public function postInsert(ConnectionInterface $con = null)
{ {
$this->dispatchEvent(TheliaEvents::ORDER_PRODUCT_AFTER_CREATE, new OrderEvent($this->getOrder())); $this->dispatchEvent(TheliaEvents::ORDER_PRODUCT_AFTER_CREATE, (new OrderEvent($this->getOrder()))->setCartItemId($this->cartIemId));
} }
} }

View File

@@ -103,6 +103,7 @@
{/loop} {/loop}
</dl> </dl>
{/ifloop} {/ifloop}
{module_include location='order-product-list'}
</td> </td>
<td class="text-right">{format_money number=$realPrice symbol=$orderCurrency}</td> <td class="text-right">{format_money number=$realPrice symbol=$orderCurrency}</td>
<td class="text-right">{format_money number=$realTax symbol=$orderCurrency}</td> <td class="text-right">{format_money number=$realTax symbol=$orderCurrency}</td>