diff --git a/classes/order/OrderReturn.php b/classes/order/OrderReturn.php index d781f2c5a..8f7b15181 100644 --- a/classes/order/OrderReturn.php +++ b/classes/order/OrderReturn.php @@ -216,5 +216,31 @@ class OrderReturnCore extends ObjectModel ON orsl.id_order_return_state = o.state AND orsl.id_lang = '.(int)Context::getContext()->language->id.' WHERE ord.`id_order_detail` = '.(int)$id_order_detail); } + + /** + * + * Add returned quantity to products list + * @param array $products + * @param int $id_order + */ + public static function addReturnedQuantity(&$products, $id_order) + { + $details = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT od.id_order_detail, IFNULL(GREATEST(od.product_quantity_return, ord.product_quantity),0) as qty_returned + FROM ps_order_detail od + LEFT JOIN ps_order_return_detail ord + ON ord.id_order_detail = od.id_order_detail + WHERE od.id_order = 1' + ); + if (!$details) + return; + + $detail_list = array(); + foreach ($details as $detail) + $detail_list[$detail['id_order_detail']] = $detail; + + foreach ($products as &$product) + $product['qty_returned'] = $detail_list[$product['id_order_detail']]['qty_returned']; + } } diff --git a/controllers/front/OrderDetailController.php b/controllers/front/OrderDetailController.php index 4ef9e4cae..5433f1fb0 100644 --- a/controllers/front/OrderDetailController.php +++ b/controllers/front/OrderDetailController.php @@ -161,6 +161,8 @@ class OrderDetailControllerCore extends FrontController $customizedDatas = Product::getAllCustomizedDatas((int)($order->id_cart)); Product::addCustomizationPrice($products, $customizedDatas); + OrderReturn::addReturnedQuantity($products, $order->id); + $customer = new Customer($order->id_customer); $this->context->smarty->assign(array( diff --git a/themes/default/lang/fr.php b/themes/default/lang/fr.php index 8f34f46d9..ac98c1c0f 100644 --- a/themes/default/lang/fr.php +++ b/themes/default/lang/fr.php @@ -397,6 +397,7 @@ $_LANG['order-detail_ec53a8c4f07baed5d8825072c89799be'] = 'État'; $_LANG['order-detail_f4e8b53a114e5a17d051ab84d326cae5'] = 'Total frais de port'; $_LANG['order-detail_f8617a92ba0a0a4eabee724eab7c9f48'] = 'Transporteur :'; $_LANG['order-detail_f8f5730f2ee46b88120ff192190fb7cd'] = 'Bons de réduction :'; +$_LANG['order-detail_fdfac28b5ad628f25649d9c2eb4fc62e'] = 'Retourné'; $_LANG['order-follow_01abfc750a0c942167651c40d088531d'] = 'n°'; $_LANG['order-follow_0d3cfc2fe56119651ee7848f3e32d84d'] = 'Etiquette de retour'; $_LANG['order-follow_229ca46a5d762e19a428f59449c916ad'] = 'Veuillez spécifier un motif de retour !'; diff --git a/themes/default/order-detail.tpl b/themes/default/order-detail.tpl index 54151a352..6fe408d38 100644 --- a/themes/default/order-detail.tpl +++ b/themes/default/order-detail.tpl @@ -123,6 +123,9 @@