From ee1187d8215188dd25e365613088113b7e2a455f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Mon, 15 Jul 2013 11:00:35 +0200 Subject: [PATCH] [-] BO: Delete specific price after combination deletion && fix SpecificPrice::getByProductId() sql query --- classes/Combination.php | 9 ++++++++- classes/SpecificPrice.php | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/classes/Combination.php b/classes/Combination.php index 27148b7b3..47b8e2eca 100644 --- a/classes/Combination.php +++ b/classes/Combination.php @@ -102,7 +102,14 @@ class CombinationCore extends ObjectModel // Removes the product from StockAvailable, for the current shop StockAvailable::removeProductFromStockAvailable((int)$this->id_product, (int)$this->id); - + + if ($specific_prices = SpecificPrice::getByProductId((int)$this->id_product, (int)$this->id)) + foreach ($specific_prices as $specific_price) + { + $price = new SpecificPrice((int)$specific_price['id_specific_price']); + $price->delete(); + } + if (!$this->hasMultishopEntries() && !$this->deleteAssociations()) return false; return true; diff --git a/classes/SpecificPrice.php b/classes/SpecificPrice.php index f47f1a5c4..27475c771 100644 --- a/classes/SpecificPrice.php +++ b/classes/SpecificPrice.php @@ -135,7 +135,7 @@ class SpecificPriceCore extends ObjectModel SELECT * FROM `'._DB_PREFIX_.'specific_price` WHERE `id_product` = '.(int)$id_product. - ($id_product_attribute ? 'AND id_product_attribute = '.(int)$id_product_attribute : '').' + ($id_product_attribute ? ' AND id_product_attribute = '.(int)$id_product_attribute : '').' AND id_cart = '.(int)$id_cart); }