mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
fix bug #18592. Please test, the bugreport is still open.
Extensive tests already done, but will continue.
This commit is contained in:
parent
dacb60c176
commit
92224fa7d7
|
|
@ -313,6 +313,8 @@ class Commande extends CommonObject
|
|||
|
||||
if ($this->db->query($sql) )
|
||||
{
|
||||
/*
|
||||
* CODE SOUSPRODUITS
|
||||
if($conf->stock->enabled && $conf->global->PRODUIT_SOUSPRODUITS == 1)
|
||||
{
|
||||
require_once(DOL_DOCUMENT_ROOT."/product/stock/mouvementstock.class.php");
|
||||
|
|
@ -337,6 +339,9 @@ class Commande extends CommonObject
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
* CODE SOUSPRODUITS
|
||||
*/
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
|
@ -354,15 +359,26 @@ class Commande extends CommonObject
|
|||
{
|
||||
if ($user->rights->commande->valider)
|
||||
{
|
||||
$this->db->begin();
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'commande SET fk_statut = -1';
|
||||
$sql .= " WHERE rowid = $this->id AND fk_statut = 1 ;";
|
||||
|
||||
if ($this->db->query($sql) )
|
||||
{
|
||||
// delete all product items from reserved stock
|
||||
if ($conf->stock->enabled) {
|
||||
foreach($this->lignes as $ligne) {
|
||||
$product = new Product($this->db);
|
||||
$product->id = $ligne->fk_product;
|
||||
$product->ajust_stock_commande($ligne->qty, 1);
|
||||
}
|
||||
}
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
dolibarr_print_error($this->db);
|
||||
}
|
||||
}
|
||||
|
|
@ -1813,6 +1829,16 @@ class Commande extends CommonObject
|
|||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('ORDER_DELETE',$this,$user,$langs,$conf);
|
||||
// Fin appel triggers
|
||||
|
||||
// delete all product items from reserved stock
|
||||
if ($conf->stock->enabled) {
|
||||
foreach($this->lignes as $ligne) {
|
||||
$product = new Product($this->db);
|
||||
$product->id = $ligne->fk_product;
|
||||
$product->ajust_stock_commande($ligne->qty, 1);
|
||||
}
|
||||
}
|
||||
$this->db->commit();
|
||||
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -355,6 +355,13 @@ class Expedition extends CommonObject
|
|||
dolibarr_syslog("expedition.class.php::valid ".$this->error);
|
||||
return -3;
|
||||
}
|
||||
// correct the stock, since otherwise the available
|
||||
// stock will decrement again, since:
|
||||
// available = real stock - # commanded items for prod
|
||||
$product = new Product($this->db);
|
||||
$product->id = $obj->fk_product;
|
||||
$product->ajust_stock_commande($obj->qty, 1);
|
||||
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user