Fixes for bug 1449, 1450 and 1451 #1654
This commit is contained in:
commit
cf948065f4
@ -12,6 +12,9 @@ Fix: [ bug #1443 ] Payment conditions is erased after editing supplier invoice l
|
||||
Fix: Filter on status was not visible when selected from url.
|
||||
Fix: Filtering on status was last when asking to sort.
|
||||
Fix: [ bug #1432 ] Trigger SHIPPING_CREATE ignores interception on error
|
||||
Fix: [ bug #1449 ] Trigger ORDER_CREATE, LINEORDER_DELETE, LINEORDER_UPDATE and LINEORDER_INSERT ignore interception on error
|
||||
Fix: [ bug #1450 ] Several Customer order's triggers do not report the error from the trigger handler
|
||||
Fix: [ bug #1451 ] Interrupted order clone through trigger, loads nonexistent order
|
||||
|
||||
***** ChangeLog for 3.5.3 compared to 3.5.2 *****
|
||||
Fix: Error on field accountancy code for export profile of invoices.
|
||||
|
||||
@ -452,8 +452,13 @@ class Commande extends CommonOrder
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::set_reopen ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1*$error;
|
||||
}
|
||||
}
|
||||
|
||||
@ -579,8 +584,14 @@ class Commande extends CommonOrder
|
||||
else
|
||||
{
|
||||
$this->error=$mouvP->error;
|
||||
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::cancel ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
return -1*$error;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -795,8 +806,19 @@ class Commande extends CommonOrder
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
if (!$error) {
|
||||
$this->db->commit();
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1*$error;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1770,7 +1792,7 @@ class Commande extends CommonOrder
|
||||
else
|
||||
{
|
||||
$this->db->rollback();
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->error=$line->error;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@ -2204,9 +2226,14 @@ class Commande extends CommonOrder
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->error();
|
||||
dol_syslog(get_class($this)."::classifyBilled ".$this->error, LOG_ERR);
|
||||
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::classifyBilled ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -2;
|
||||
return -1*$error;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2372,11 +2399,10 @@ class Commande extends CommonOrder
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
$this->errors=array($this->db->lasterror());
|
||||
$this->db->rollback();
|
||||
dol_syslog(get_class($this)."::updateline Error=".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
$this->error=$this->line->error;
|
||||
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2494,9 +2520,13 @@ class Commande extends CommonOrder
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
|
||||
$this->db->rollback();
|
||||
return -1;
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1*$error;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3129,6 +3159,8 @@ class OrderLine extends CommonOrderLine
|
||||
|
||||
$error=0;
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commandedet WHERE rowid='".$this->rowid."';";
|
||||
|
||||
dol_syslog("OrderLine::delete sql=".$sql);
|
||||
@ -3154,7 +3186,18 @@ class OrderLine extends CommonOrderLine
|
||||
if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
// Fin appel triggers
|
||||
|
||||
return 1;
|
||||
if (!$error) {
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1*$error;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3270,8 +3313,18 @@ class OrderLine extends CommonOrderLine
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
if (!$error) {
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1*$error;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3378,8 +3431,18 @@ class OrderLine extends CommonOrderLine
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
if (!$error) {
|
||||
$this->db->commit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
return -1*$error;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -112,6 +112,9 @@ if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->
|
||||
{
|
||||
if ($object->id > 0)
|
||||
{
|
||||
//Because createFromClone modifies the object, we must clone it so that we can restore it later
|
||||
$orig = clone $object;
|
||||
|
||||
$result=$object->createFromClone($socid);
|
||||
if ($result > 0)
|
||||
{
|
||||
@ -120,7 +123,8 @@ if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessage($object->error, 'errors');
|
||||
$object = $orig;
|
||||
$action='';
|
||||
}
|
||||
}
|
||||
@ -140,7 +144,7 @@ else if ($action == 'reopen' && $user->rights->commande->creer)
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -154,9 +158,8 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->comm
|
||||
header('Location: index.php');
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
else {
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -187,7 +190,7 @@ else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg='<div class="error">'.$object->error.'</div>';
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@ -445,6 +448,10 @@ else if ($action == 'add' && $user->rights->commande->creer)
|
||||
else if ($action == 'classifybilled' && $user->rights->commande->creer)
|
||||
{
|
||||
$ret=$object->classifyBilled();
|
||||
|
||||
if ($ret < 0) {
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
// Positionne ref commande client
|
||||
@ -1076,7 +1083,9 @@ else if ($action == 'confirm_modif' && $user->rights->commande->creer)
|
||||
else if ($action == 'confirm_shipped' && $confirm == 'yes' && $user->rights->commande->cloturer)
|
||||
{
|
||||
$result = $object->cloture($user);
|
||||
if ($result < 0) $mesgs=$object->errors;
|
||||
if ($result < 0) {
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
|
||||
else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->commande->valider)
|
||||
@ -1097,6 +1106,10 @@ else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->comm
|
||||
if (! $error)
|
||||
{
|
||||
$result = $object->cancel($idwarehouse);
|
||||
|
||||
if ($result < 0) {
|
||||
setEventMessage($object->error, 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user