Better error management

This commit is contained in:
Laurent Destailleur 2020-10-22 18:39:45 +02:00 committed by GitHub
parent 594d9e321e
commit b4581b6af8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -356,27 +356,35 @@ if (empty($reshook))
$object->cond_reglement_code = 0; // To clean property $object->cond_reglement_code = 0; // To clean property
$object->cond_reglement_id = 0; // To clean property $object->cond_reglement_id = 0; // To clean property
$error = 0;
$db->begin(); $db->begin();
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); if (! $error) {
if ($result < 0) { $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
$db->rollback(); if ($result < 0) {
dol_print_error($db, $object->error); $error++;
exit; setEventMessages($object->error, $object->errors, 'errors');
}
} }
$old_date_lim_reglement = $object->date_lim_reglement; if (! $error) {
$new_date_lim_reglement = $object->calculate_date_lim_reglement(); $old_date_lim_reglement = $object->date_lim_reglement;
if ($new_date_lim_reglement > $old_date_lim_reglement) $object->date_lim_reglement = $new_date_lim_reglement; $new_date_lim_reglement = $object->calculate_date_lim_reglement();
if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date; if ($new_date_lim_reglement > $old_date_lim_reglement) $object->date_lim_reglement = $new_date_lim_reglement;
$result = $object->update($user); if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date;
if ($result < 0) { $result = $object->update($user);
$db->rollback(); if ($result < 0) {
dol_print_error($db, $object->error); $error++;
exit; setEventMessages($object->error, $object->errors, 'errors');
}
} }
$db->commit(); if ($error) {
$db->rollback();
} else {
$db->commit();
}
} }
elseif ($action == 'setpaymentterm' && $usercancreate) elseif ($action == 'setpaymentterm' && $usercancreate)