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)); } /**