From c893629bfd37bb49fe9f322b2b382690763cff4b Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Fri, 28 Mar 2014 09:18:03 +0100 Subject: [PATCH] add cart item id on order product save event --- core/lib/Thelia/Action/Order.php | 1 + .../Thelia/Core/Event/Order/OrderEvent.php | 22 ++++++++++++++++ core/lib/Thelia/Model/OrderProduct.php | 26 +++++++++++++++++-- templates/backOffice/default/order-edit.html | 1 + 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/core/lib/Thelia/Action/Order.php b/core/lib/Thelia/Action/Order.php index 0e8293c4a..cb32f1967 100644 --- a/core/lib/Thelia/Action/Order.php +++ b/core/lib/Thelia/Action/Order.php @@ -266,6 +266,7 @@ class Order extends BaseAction implements EventSubscriberInterface ->setTaxRuleTitle($taxRuleI18n->getTitle()) ->setTaxRuleDescription($taxRuleI18n->getDescription()) ->setEanCode($pse->getEanCode()) + ->setCartIemId($cartItem->getId()) ->setDispatcher($dispatcher) ->save($con) ; diff --git a/core/lib/Thelia/Core/Event/Order/OrderEvent.php b/core/lib/Thelia/Core/Event/Order/OrderEvent.php index 282a71207..c8ebeb033 100644 --- a/core/lib/Thelia/Core/Event/Order/OrderEvent.php +++ b/core/lib/Thelia/Core/Event/Order/OrderEvent.php @@ -40,6 +40,8 @@ class OrderEvent extends ActionEvent protected $status = null; protected $deliveryRef = null; + protected $cartItemId = null; + /** * @var Response */ @@ -61,6 +63,26 @@ class OrderEvent extends ActionEvent $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 */ diff --git a/core/lib/Thelia/Model/OrderProduct.php b/core/lib/Thelia/Model/OrderProduct.php index b73ef9852..dfd23d00a 100644 --- a/core/lib/Thelia/Model/OrderProduct.php +++ b/core/lib/Thelia/Model/OrderProduct.php @@ -11,12 +11,34 @@ class OrderProduct extends BaseOrderProduct { 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} */ 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; } @@ -26,6 +48,6 @@ class OrderProduct extends BaseOrderProduct */ 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)); } } diff --git a/templates/backOffice/default/order-edit.html b/templates/backOffice/default/order-edit.html index 3a50b6e1c..3698722be 100644 --- a/templates/backOffice/default/order-edit.html +++ b/templates/backOffice/default/order-edit.html @@ -103,6 +103,7 @@ {/loop} {/ifloop} + {module_include location='order-product-list'} {format_money number=$realPrice symbol=$orderCurrency} {format_money number=$realTax symbol=$orderCurrency}