From 2f17afcc307ed307d868f3b746589d4e9d4ae375 Mon Sep 17 00:00:00 2001 From: mDeflotte Date: Tue, 10 Jul 2012 14:09:18 +0000 Subject: [PATCH] [-] FO : #PSCFV-3034 - Add return quantity to order detail git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16312 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/order/OrderReturn.php | 26 +++++++++++++++++++++ controllers/front/OrderDetailController.php | 2 ++ themes/default/lang/fr.php | 1 + themes/default/order-detail.tpl | 25 +++++++++++++++----- 4 files changed, 48 insertions(+), 6 deletions(-) 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 @@ {l s='Reference'} {l s='Product'} {l s='Quantity'} + {if $order->hasProductReturned()} + {l s='Returned'} + {/if} {l s='Unit price'} {l s='Total price'} @@ -130,37 +133,37 @@ {if $priceDisplay && $use_tax} - + {l s='Total products (tax excl.):'} {displayWtPriceWithCurrency price=$order->getTotalProductsWithoutTaxes() currency=$currency} {/if} - + {l s='Total products'} {if $use_tax}{l s='(tax incl.)'}{/if}: {displayWtPriceWithCurrency price=$order->getTotalProductsWithTaxes() currency=$currency} {if $order->total_discounts > 0} - + {l s='Total vouchers:'} {displayWtPriceWithCurrency price=$order->total_discounts currency=$currency convert=1} {/if} {if $order->total_wrapping > 0} - + {l s='Total gift-wrapping:'} {displayWtPriceWithCurrency price=$order->total_wrapping currency=$currency} {/if} - + {l s='Total shipping'} {if $use_tax}{l s='(tax incl.)'}{/if}: {displayWtPriceWithCurrency price=$order->total_shipping currency=$currency} - + {l s='Total:'} {displayWtPriceWithCurrency price=$order->total_paid currency=$currency} @@ -184,6 +187,11 @@ + {if $order->hasProductReturned()} + + {$product['qty_returned']} + + {/if} + {if $order->hasProductReturned()} + + {$product['qty_returned']} + + {/if}