From 60124feb1707ba918d4bdd1bc79c6ae55bc9e23b Mon Sep 17 00:00:00 2001 From: Guillaume Barral Date: Thu, 19 Jun 2014 12:02:58 +0200 Subject: [PATCH] modification of model Order to not insert two times the order_version (when we insert for the first time an order object) --- core/lib/Thelia/Model/Order.php | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/core/lib/Thelia/Model/Order.php b/core/lib/Thelia/Model/Order.php index 13311e51c..5cea21cc7 100644 --- a/core/lib/Thelia/Model/Order.php +++ b/core/lib/Thelia/Model/Order.php @@ -17,6 +17,8 @@ class Order extends BaseOrder protected $choosenDeliveryAddress = null; protected $choosenInvoiceAddress = null; + protected $disableVersioning = false; + /** * @param null $choosenDeliveryAddress */ @@ -27,6 +29,30 @@ class Order extends BaseOrder return $this; } + /** + * @param boolean $disableVersionning + */ + public function setDisableVersioning($disableVersioning) + { + $this->disableVersioning = (bool) $disableVersioning; + + return $this; + } + + public function isVersioningDisable() + { + return $this->disableVersioning; + } + + public function isVersioningNecessary($con = null) + { + if ($this->isVersioningDisable()) { + return false; + } else { + return parent::isVersioningNecessary($con); + } + } + /** * @return null */ @@ -69,6 +95,7 @@ class Order extends BaseOrder public function postInsert(ConnectionInterface $con = null) { $this->setRef($this->generateRef()) + ->setDisableVersioning(true) ->save($con); $this->dispatchEvent(TheliaEvents::ORDER_AFTER_CREATE, new OrderEvent($this)); } @@ -84,7 +111,7 @@ class Order extends BaseOrder public function generateRef() { - return sprintf('ORD%s', str_pad($this->getId(), 12, 0, STR_PAD_LEFT)); + return sprintf('ORD%s', str_pad($this->getId(), 12, 0, STR_PAD_LEFT)); } /**