From c007633de8de7a837090176e33e39edda45dd62a Mon Sep 17 00:00:00 2001 From: aFolletete Date: Wed, 6 Jun 2012 15:00:52 +0000 Subject: [PATCH] [-] Classes : fixed bug #PSCFV-2681 - issue with updating of current_state column on order table --- classes/order/Order.php | 3 +-- classes/order/OrderHistory.php | 10 +++++----- themes/default/order-detail.tpl | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/classes/order/Order.php b/classes/order/Order.php index f99e38373..1f4d022cc 100644 --- a/classes/order/Order.php +++ b/classes/order/Order.php @@ -781,8 +781,7 @@ class OrderCore extends ObjectModel $order_state = $this->getCurrentOrderState(); if ($order_state && $order_state->paid && $order_state->shipped) return true; - else - return false; + return false; } /** diff --git a/classes/order/OrderHistory.php b/classes/order/OrderHistory.php index 9ca490e5b..6620f96f3 100644 --- a/classes/order/OrderHistory.php +++ b/classes/order/OrderHistory.php @@ -290,6 +290,7 @@ class OrderHistoryCore extends ObjectModel $context = Context::getContext(); $order = new Order($this->id_order); $last_order_state = $order->getCurrentOrderState(); + $new_order_state = new OrderState($this->id_order_state, Configuration::get('PS_LANG_DEFAULT')); if (!parent::add($autodate)) return false; @@ -314,11 +315,6 @@ class OrderHistoryCore extends ObjectModel // An additional email is sent the first time a virtual item is validated $virtual_products = $order->getVirtualProducts(); - $new_order_state = new OrderState($this->id_order_state, Configuration::get('PS_LANG_DEFAULT')); - // Update id_order_state attribute in Order - $order->current_state = $new_order_state->id; - $order->update(); - if ($virtual_products && (!$last_order_state || !$last_order_state->logable) && $new_order_state && $new_order_state->logable) { $assign = array(); @@ -355,6 +351,10 @@ class OrderHistoryCore extends ObjectModel Mail::Send((int)$order->id_lang, $result['template'], $topic, $data, $result['email'], $result['firstname'].' '.$result['lastname']); } + // Update id_order_state attribute in Order + $order->current_state = $new_order_state->id; + $order->update(); + Hook::exec('actionOrderHistoryAddAfter', array('order_history' => $this)); return true; diff --git a/themes/default/order-detail.tpl b/themes/default/order-detail.tpl index 0fbedef3d..91078e5a4 100644 --- a/themes/default/order-detail.tpl +++ b/themes/default/order-detail.tpl @@ -413,4 +413,4 @@ {else}

 {l s='You cannot make a merchandise return with a guest account'}

-{/if} \ No newline at end of file +{/if}