diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php index 49f92826259..e1d414539d1 100644 --- a/htdocs/compta/facture/card.php +++ b/htdocs/compta/facture/card.php @@ -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) diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 43b4757729c..4d8ead1ca94 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -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