Fix #4548 Check on stock enough must be done according to warehouse

This commit is contained in:
Laurent Destailleur 2016-02-14 22:20:42 +01:00
parent 2f99273734
commit 2fd01d71cf

View File

@ -856,13 +856,23 @@ class Expedition extends CommonObject
return -1; return -1;
} }
if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) // FIXME Check is done for stock of product, it must be done for stock of product into warehouse if $entrepot_id defined if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT)
{ {
// Check must be done for stock of product into warehouse if $entrepot_id defined
$product=new Product($this->db); $product=new Product($this->db);
$result=$product->fetch($fk_product); $result=$product->fetch($fk_product);
$product_type=$product->type;
if ($product_type == 0 && $product->stock_reel < $qty) $product_type=$product->type;
if ($entrepot_id > 0) {
$product->load_stock();
$product_stock = $product->stock_warehouse[$entrepot_id]->real;
}
else
{
$product_stock = $product->stock_reel;
}
if ($product_type == 0 && $product_stock < $qty)
{ {
$this->error=$langs->trans('ErrorStockIsNotEnough'); $this->error=$langs->trans('ErrorStockIsNotEnough');
$this->db->rollback(); $this->db->rollback();