From 0cf1fc870c6031cdc36a4a61a0024414fd8f7fcb Mon Sep 17 00:00:00 2001 From: mDeflotte Date: Mon, 4 Jun 2012 09:09:51 +0000 Subject: [PATCH] // Fix bug with bad SQL request on changing state of an order paid by check git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15810 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/order/Order.php | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/classes/order/Order.php b/classes/order/Order.php index fa8e0b22f..39adbe434 100644 --- a/classes/order/Order.php +++ b/classes/order/Order.php @@ -1115,16 +1115,19 @@ class OrderCore extends ObjectModel WHERE `id_order` = '.(int)$order_invoice->id_order); // Update order payment - Db::getInstance()->execute(' - INSERT INTO `'._DB_PREFIX_.'order_invoice_payment` - SET - `id_order_invoice` = '.(int)$order_invoice->id.', - `id_order_payment` = ( - SELECT id_order_payment FROM `'._DB_PREFIX_.'order_payment` op - INNER JOIN `'._DB_PREFIX_.'orders` o - ON o.reference = op.order_reference - WHERE id_order = '.(int)$order_invoice->id_order.' LIMIT 1), - `id_order` = '.(int)$order_invoice->id_order); + $id_order_payment = Db::getInstance()->getValue(' + SELECT id_order_payment FROM `'._DB_PREFIX_.'order_payment` op + INNER JOIN `'._DB_PREFIX_.'orders` o + ON o.reference = op.order_reference + WHERE id_order = '.(int)$order_invoice->id_order); + + if ($id_order_payment) + Db::getInstance()->execute(' + INSERT INTO `'._DB_PREFIX_.'order_invoice_payment` + SET + `id_order_invoice` = '.(int)$order_invoice->id.', + `id_order_payment` = '.(int)$id_order_payment.', + `id_order` = '.(int)$order_invoice->id_order); // Update order cart rule Db::getInstance()->execute('