From 371e03a20240ddb43b2fd332af2e50a46a48588b Mon Sep 17 00:00:00 2001 From: vSchoener Date: Fri, 23 Mar 2012 08:57:40 +0000 Subject: [PATCH] [-] BO : Fix bad use of 'uninstanciated' variable product git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@14231 b9a71923-0436-4b27-9f14-aed3839534dd --- controllers/admin/AdminCartsController.php | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/controllers/admin/AdminCartsController.php b/controllers/admin/AdminCartsController.php index 588665ea2..952ac87bd 100755 --- a/controllers/admin/AdminCartsController.php +++ b/controllers/admin/AdminCartsController.php @@ -254,17 +254,24 @@ class AdminCartsControllerCore extends AdminController $errors[] = Tools::displayError('Invalid product'); elseif (!($qty = Tools::getValue('qty')) || $qty == 0) $errors[] = Tools::displayError('Invalid quantity'); - if (($id_product_attribute = Tools::getValue('id_product_attribute')) != 0) + + // Don't try to use a product if not instanciated before due to errors + if (isset($product) && $product->id) { - if (!Product::isAvailableWhenOutOfStock($product->out_of_stock) && !Attribute::checkAttributeQty((int)$id_product_attribute, (int)$qty)) - $errors[] = Tools::displayError('There is not enough product in stock'); + if (($id_product_attribute = Tools::getValue('id_product_attribute')) != 0) + { + if (!Product::isAvailableWhenOutOfStock($product->out_of_stock) && !Attribute::checkAttributeQty((int)$id_product_attribute, (int)$qty)) + $errors[] = Tools::displayError('There is not enough product in stock'); + } + else + if (!$product->checkQty((int)$qty)) + $errors[] = Tools::displayError('There is not enough product in stock'); + if (!($id_customization = (int)Tools::getValue('id_customization', 0)) && !$product->hasAllRequiredCustomizableFields()) + $errors[] = Tools::displayError('Please fill in all required fields'); + $this->context->cart->save(); } else - if (!$product->checkQty((int)$qty)) - $errors[] = Tools::displayError('There is not enough product in stock'); - if (!($id_customization = (int)Tools::getValue('id_customization', 0)) && !$product->hasAllRequiredCustomizableFields()) - $errors[] = Tools::displayError('Please fill in all required fields'); - $this->context->cart->save(); + $errors[] = Tools::displayError('Product can\'t be added to the cart'); if (!count($errors)) {