[-] BO : BugFix : #PSCFV-2644 : Unable to remove stock to a product with advanced stock management

This commit is contained in:
vChabot
2012-06-06 09:37:06 +00:00
parent 337f0c91dc
commit 0921a074c0
@@ -356,7 +356,7 @@ class AdminStockManagementControllerCore extends AdminController
'size' => 10,
'maxlength' => 6,
'required' => true,
'desc' => $this->l('Physical quantity to remove')
'desc' => $this->l('Physical quantity to remove'),
),
array(
'type' => 'radio',
@@ -676,7 +676,17 @@ class AdminStockManagementControllerCore extends AdminController
Tools::redirectAdmin($redirect.'&conf=2');
}
else
$this->errors[] = Tools::displayError('It is not possible to remove the specified quantity or an error occurred. No stock was removed.');
{
$physical_quantity_in_stock = (int)$stock_manager->getProductPhysicalQuantities($id_product, $id_product_attribute, array($warehouse->id), false);
$usable_quantity_in_stock = (int)$stock_manager->getProductPhysicalQuantities($id_product, $id_product_attribute, array($warehouse->id), true);
$not_usable_quantity = ($physical_quantity_in_stock - $usable_quantity_in_stock);
if ($usable_quantity_in_stock < $quantity)
$this->errors[] = sprintf(Tools::displayError('You don\'t have enough usable quantity (usable or not). Could not remove %d out of %d.'), (int)$quantity, (int)$usable_quantity_in_stock);
else if ($not_usable_quantity < $quantity)
$this->errors[] = sprintf(Tools::displayError('You don\'t have enough quantity (not usable). Could not remove %d out of %d.'), (int)$quantity, (int)$not_usable_quantity);
else
$this->errors[] = Tools::displayError('It is not possible to remove the specified quantity or an error occurred. No stock was removed.');
}
}
}