From b5b7c8ef1e7865229a9fb5ebb757d37aef60220b Mon Sep 17 00:00:00 2001 From: bMancone Date: Thu, 22 Dec 2011 14:26:45 +0000 Subject: [PATCH] // Warehouse: fixed queries. AdminPPreferencesController: fixed advanced stock management --- classes/stock/Warehouse.php | 4 ++-- controllers/admin/AdminPPreferencesController.php | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/classes/stock/Warehouse.php b/classes/stock/Warehouse.php index 2cd8b91dc..35b28c9ef 100644 --- a/classes/stock/Warehouse.php +++ b/classes/stock/Warehouse.php @@ -250,13 +250,13 @@ class WarehouseCore extends ObjectModel public static function setProductLocation($id_product, $id_product_attribute, $id_warehouse, $location) { Db::getInstance()->execute(' - DELETE FROM '._DB_PREFIX_.'`warehouse_product_location` wpl + DELETE FROM `'._DB_PREFIX_.'warehouse_product_location` wpl WHERE wpl.`id_product` = '.(int)$id_product.' AND wpl.`id_product_attribute` = '.(int)$id_product_attribute.' AND wpl.`id_warehouse` = '.(int)$id_warehouse); $query = ' - UPDATE '._DB_PREFIX_.'`warehouse_product_location` + UPDATE `'._DB_PREFIX_.'warehouse_product_location` SET `location` = \''.pSQL($location).'\' WHERE `id_product` = '.(int)$id_product.' AND `id_product_attribute` = '.(int)$id_product_attribute.' diff --git a/controllers/admin/AdminPPreferencesController.php b/controllers/admin/AdminPPreferencesController.php index 78221eb08..df9c3a5d6 100644 --- a/controllers/admin/AdminPPreferencesController.php +++ b/controllers/admin/AdminPPreferencesController.php @@ -280,5 +280,20 @@ class AdminPPreferencesControllerCore extends AdminController $_POST['PS_ORDER_OUT_OF_STOCK'] = 1; $_POST['PS_DISPLAY_QTIES'] = 0; } + + // if advanced stock management is disabled, updates concerned tables + if (Configuration::get('PS_ADVANCED_STOCK_MANAGEMENT') == 1 && + (int)Tools::getValue('PS_ADVANCED_STOCK_MANAGEMENT') == 0) + { + Db::getInstance()->execute( + 'UPDATE `'._DB_PREFIX_.'product` + SET `advanced_stock_management` = 0 + WHERE `advanced_stock_management` = 1'); + + Db::getInstance()->execute( + 'UPDATE `'._DB_PREFIX_.'stock_available` + SET `depends_on_stock` = 0, `quantity` = 0 + WHERE `depends_on_stock` = 1'); + } } }