From 6470573f4a66f3d1be4059ec37fea40c46241469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Fri, 1 Mar 2013 14:55:47 +0100 Subject: [PATCH] [-] BO: Fix #PSCFV-8068 stock available total cache after deleting a combination --- classes/stock/StockAvailable.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/classes/stock/StockAvailable.php b/classes/stock/StockAvailable.php index 37178e32e..bc97c0d91 100644 --- a/classes/stock/StockAvailable.php +++ b/classes/stock/StockAvailable.php @@ -553,11 +553,31 @@ class StockAvailableCore extends ObjectModel return true; } - return Db::getInstance()->execute(' + $res = Db::getInstance()->execute(' DELETE FROM '._DB_PREFIX_.'stock_available WHERE id_product = '.(int)$id_product. ($id_product_attribute ? ' AND id_product_attribute = '.(int)$id_product_attribute : ''). StockAvailable::addSqlShopRestriction(null, $shop)); + + if ($id_product_attribute) + { + if ($shop === null || !Validate::isLoadedObject($shop)) + { + $shop_datas = array(); + StockAvailable::addSqlShopParams($shop_datas); + $id_shop = (int)$shop_datas['id_shop']; + } + else + $id_shop = (int)$shop->id; + + $stock_available = new StockAvailable(); + $stock_available->id_product = (int)$id_product; + $stock_available->id_product_attribute = (int)$id_product; + $stock_available->id_shop = (int)$id_shop; + $stock_available->postSave(); + } + + return $res; } /**