FIX: invoice payment terms edition: error management

This commit is contained in:
Marc de Lima Lucio
2020-10-22 18:28:27 +02:00
parent 1795ec6a9d
commit 594d9e321e
2 changed files with 30 additions and 4 deletions

View File

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

View File

@@ -328,15 +328,28 @@ if (empty($reshook))
$object->fetch($id);
$object->cond_reglement_code = 0; // To clean property
$object->cond_reglement_id = 0; // To clean property
$db->begin();
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
if ($result < 0) dol_print_error($db, $object->error);
if ($result < 0) {
$db->rollback();
dol_print_error($db, $object->error);
exit;
}
$old_date_echeance = $object->date_echeance;
$new_date_echeance = $object->calculate_date_lim_reglement();
if ($new_date_echeance > $old_date_echeance) $object->date_echeance = $new_date_echeance;
if ($object->date_echeance < $object->date) $object->date_echeance = $object->date;
$result = $object->update($user);
if ($result < 0) dol_print_error($db, $object->error);
if ($result < 0) {
$db->rollback();
dol_print_error($db, $object->error);
exit;
}
$db->commit();
}
// Set incoterm