forked from Wavyzz/dolibarr
FIX: invoice payment terms edition: error management
This commit is contained in:
@@ -355,15 +355,28 @@ if (empty($reshook))
|
|||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$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
|
||||||
|
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
|
$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;
|
$old_date_lim_reglement = $object->date_lim_reglement;
|
||||||
$new_date_lim_reglement = $object->calculate_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 ($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;
|
if ($object->date_lim_reglement < $object->date) $object->date_lim_reglement = $object->date;
|
||||||
$result = $object->update($user);
|
$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)
|
elseif ($action == 'setpaymentterm' && $usercancreate)
|
||||||
|
|||||||
@@ -328,15 +328,28 @@ if (empty($reshook))
|
|||||||
$object->fetch($id);
|
$object->fetch($id);
|
||||||
$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
|
||||||
|
|
||||||
|
$db->begin();
|
||||||
|
|
||||||
$result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int'));
|
$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;
|
$old_date_echeance = $object->date_echeance;
|
||||||
$new_date_echeance = $object->calculate_date_lim_reglement();
|
$new_date_echeance = $object->calculate_date_lim_reglement();
|
||||||
if ($new_date_echeance > $old_date_echeance) $object->date_echeance = $new_date_echeance;
|
if ($new_date_echeance > $old_date_echeance) $object->date_echeance = $new_date_echeance;
|
||||||
if ($object->date_echeance < $object->date) $object->date_echeance = $object->date;
|
if ($object->date_echeance < $object->date) $object->date_echeance = $object->date;
|
||||||
$result = $object->update($user);
|
$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
|
// Set incoterm
|
||||||
|
|||||||
Reference in New Issue
Block a user