Fixed: Error management on triggers

This commit is contained in:
Laurent Destailleur 2015-01-31 00:08:45 +01:00
parent d6dc495a42
commit 0ea4a5db7d
5 changed files with 18 additions and 13 deletions

View File

@ -928,6 +928,10 @@ if (empty($reshook))
$object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref);
} }
} }
else
{
setEventMessages($object->error, $object->errors, 'errors');
}
} }
} }

View File

@ -2399,7 +2399,8 @@ if ($action == 'create')
} }
// Confirmation de la validation // Confirmation de la validation
if ($action == 'valid') { if ($action == 'valid')
{
// on verifie si l'objet est en numerotation provisoire // on verifie si l'objet est en numerotation provisoire
$objectref = substr($object->ref, 1, 4); $objectref = substr($object->ref, 1, 4);
if ($objectref == 'PROV') { if ($objectref == 'PROV') {
@ -2430,7 +2431,8 @@ if ($action == 'create')
$qualified_for_stock_change = $object->hasProductsOrServices(1); $qualified_for_stock_change = $object->hasProductsOrServices(1);
} }
if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change)
{
$langs->load("stocks"); $langs->load("stocks");
require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php';
require_once DOL_DOCUMENT_ROOT . '/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT . '/product/stock/class/entrepot.class.php';

View File

@ -947,7 +947,7 @@ class FactureFournisseur extends CommonInvoice
} }
// Triggers call // Triggers call
if (! $error && $notrigger) if (! $error && empty($notrigger))
{ {
// Call trigger // Call trigger
$result=$this->call_trigger('BILL_SUPPLIER_VALIDATE',$user); $result=$this->call_trigger('BILL_SUPPLIER_VALIDATE',$user);

View File

@ -531,8 +531,8 @@ if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fournisseu
} }
} }
else else
{ {
setEventMessage($object->error, 'errors'); setEventMessages($object->error, $object->errors, 'errors');
} }
// If we have permission, and if we don't need to provide the idwarehouse, we go directly on approved step // If we have permission, and if we don't need to provide the idwarehouse, we go directly on approved step

View File

@ -154,8 +154,7 @@ elseif ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->fourni
$result = $object->validate($user,'',$idwarehouse); $result = $object->validate($user,'',$idwarehouse);
if ($result < 0) if ($result < 0)
{ {
setEventMessage($object->error,'errors'); setEventMessages($object->error,$object->errors,'errors');
setEventMessage($object->errors,'errors');
} }
} }
} }
@ -300,13 +299,13 @@ elseif ($action == 'add' && $user->rights->fournisseur->facture->creer)
$_GET['socid']=$_POST['socid']; $_GET['socid']=$_POST['socid'];
$error++; $error++;
} }
// Fill array 'array_options' with data from add form // Fill array 'array_options' with data from add form
if (! $error) if (! $error)
{ {
$db->begin(); $db->begin();
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); $extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
$ret = $extrafields->setOptionalsFromPost($extralabels, $object); $ret = $extrafields->setOptionalsFromPost($extralabels, $object);
if ($ret < 0) $error ++; if ($ret < 0) $error ++;
@ -1183,7 +1182,7 @@ if ($action == 'create')
{ {
$facturestatic = new FactureFournisseur($db); $facturestatic = new FactureFournisseur($db);
$extralabels = $extrafields->fetch_name_optionals_label($facturestatic->table_element); $extralabels = $extrafields->fetch_name_optionals_label($facturestatic->table_element);
print_fiche_titre($langs->trans('NewBill')); print_fiche_titre($langs->trans('NewBill'));
dol_htmloutput_events(); dol_htmloutput_events();
@ -1424,7 +1423,7 @@ if ($action == 'create')
print '</td>'; print '</td>';
// print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>'; // print '<td><textarea name="note" wrap="soft" cols="60" rows="'.ROWS_5.'"></textarea></td>';
print '</tr>'; print '</tr>';
if (empty($reshook) && ! empty($extrafields->attribute_label)) if (empty($reshook) && ! empty($extrafields->attribute_label))
{ {
print $object->showOptionals($extrafields, 'edit'); print $object->showOptionals($extrafields, 'edit');
@ -1540,7 +1539,7 @@ else
$societe = new Fournisseur($db); $societe = new Fournisseur($db);
$result=$societe->fetch($object->socid); $result=$societe->fetch($object->socid);
if ($result < 0) dol_print_error($db); if ($result < 0) dol_print_error($db);
// fetch optionals attributes and labels // fetch optionals attributes and labels
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); $extralabels = $extrafields->fetch_name_optionals_label($object->table_element);