This commit is contained in:
Cedric 2014-06-24 10:53:18 +02:00
parent 04ead87aea
commit 00779dd8fa
4 changed files with 81 additions and 17 deletions

View File

@ -36,8 +36,9 @@ Fix: If multiprice level is used the VAT on addline is not correct
Fix: [ bug #1254 ] Error when using "Enter" on qty input box of a product (on supplier order part)
Fix: [ bug #1462, 1468, 1480, 1483, 1490, 1497] $this instead of $object
Fix: [ bug #1455 ] outstanding amount
Fix: [ bug #1425 ]
Fix: [ bug #1425 ] LINEBILL_SUPPLIER_DELETE failure trigger leads to an endless loop
Fix: [ bug #1460 ] Several supplier order triggers do not show error messages
Fix: [ bug #1461 ] LINEORDER_SUPPLIER_CREATE does not intercept supplier order line insertion
***** ChangeLog for 3.5.3 compared to 3.5.2 *****
Fix: Error on field accountancy code for export profile of invoices.

View File

@ -257,10 +257,30 @@ class InterfaceDemo
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_CLONE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_VALIDATE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_DELETE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_APPROVE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_REFUSE')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_CANCEL')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}
elseif ($action == 'ORDER_SUPPLIER_SENTBYMAIL')
{
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
@ -421,6 +441,8 @@ class InterfaceDemo
}
elseif ($action == 'LINEBILL_SUPPLIER_DELETE')
{
$object->error='Erreur trigger';
return -1;
dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id);
}

View File

@ -390,7 +390,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ORDER_SUPPLIER_VALIDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -401,9 +407,9 @@ class CommandeFournisseur extends CommonOrder
}
else
{
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
$this->db->rollback();
$this->error=$this->db->lasterror();
return -1;
}
}
@ -743,8 +749,7 @@ class CommandeFournisseur extends CommonOrder
}
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
$this->db->rollback();
return -1;
}
}
@ -779,9 +784,11 @@ class CommandeFournisseur extends CommonOrder
$result = 0;
if ($user->rights->fournisseur->commande->approuver)
{
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = 9";
$sql .= " WHERE rowid = ".$this->id;
$sql .= " WHERE rowid = ".$this->id;
if ($this->db->query($sql))
{
$result = 0;
@ -793,12 +800,19 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ORDER_SUPPLIER_REFUSE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
}
// Fin appel triggers
}
}
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::refuse Error -1");
$result = -1;
}
@ -855,7 +869,6 @@ class CommandeFournisseur extends CommonOrder
else
{
$this->db->rollback();
$this->error=$this->db->lasterror();
return -1;
}
}
@ -1039,7 +1052,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('ORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1286,7 +1305,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1351,7 +1376,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_SUPPLIER_DISPATCH',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}
@ -1380,6 +1411,7 @@ class CommandeFournisseur extends CommonOrder
}
}
//TODO: Check if there is a current transaction in DB but seems not.
if ($error == 0)
{
$this->db->commit();
@ -1410,7 +1442,8 @@ class CommandeFournisseur extends CommonOrder
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idligne;
$resql=$this->db->query($sql);
//TODO: Add trigger for deleted line
dol_syslog(get_class($this)."::deleteline sql=".$sql);
if ($resql)
{
@ -1457,11 +1490,13 @@ class CommandeFournisseur extends CommonOrder
{
if ($this->db->affected_rows($resql) < 1)
{
$this->error=$this->db->lasterror();
$error++;
}
}
else
{
$this->error=$this->db->lasterror();
$error++;
}
@ -1524,7 +1559,6 @@ class CommandeFournisseur extends CommonOrder
}
else
{
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
$this->db->rollback();
return -$error;
@ -1725,7 +1759,7 @@ class CommandeFournisseur extends CommonOrder
$resql = $this->db->query($sql);
if ($resql)
{
//TODO: Add trigger for status modification
}
else
{
@ -1849,7 +1883,13 @@ class CommandeFournisseur extends CommonOrder
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEORDER_SUPPLIER_UPDATE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
if ($result < 0)
{
$error++;
$this->errors=$interface->errors;
$this->db->rollback();
return -1;
}
// Fin appel triggers
}

View File

@ -931,7 +931,7 @@ if ($action == 'send' && ! GETPOST('addfile') && ! GETPOST('removedfile') && ! G
if ($error)
{
dol_print_error($db);
setEventMessage($object->error, 'errors');
}
else
{
@ -1057,6 +1057,7 @@ if ($action=="create")
print_fiche_titre($langs->trans('NewOrder'));
dol_htmloutput_mesg($mesg);
dol_htmloutput_events();
$societe='';
if ($socid>0)