diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php
index 864de6e2e98..4fb2a1aede4 100644
--- a/htdocs/categories/viewcat.php
+++ b/htdocs/categories/viewcat.php
@@ -285,16 +285,19 @@ print dol_get_fiche_end();
*/
print "
\n";
+$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
+if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
+if (empty($reshook)) {
+ if ($user->rights->categorie->creer)
+ {
+ $socid = ($object->socid ? "&socid=".$object->socid : "");
+ print '
'.$langs->trans("Modify").'';
+ }
-if ($user->rights->categorie->creer)
-{
- $socid = ($object->socid ? "&socid=".$object->socid : "");
- print '
'.$langs->trans("Modify").'';
-}
-
-if ($user->rights->categorie->supprimer)
-{
- print '
id.'&type='.$type.'">'.$langs->trans("Delete").'';
+ if ($user->rights->categorie->supprimer)
+ {
+ print '
id.'&type='.$type.'">'.$langs->trans("Delete").'';
+ }
}
print "
";
diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php
index 5d87303236a..b58b4ddec0c 100644
--- a/htdocs/compta/prelevement/card.php
+++ b/htdocs/compta/prelevement/card.php
@@ -98,7 +98,13 @@ if (empty($reshook))
// Seems to no be used and replaced with $action == 'infocredit'
if ($action == 'confirm_credite' && GETPOST('confirm', 'alpha') == 'yes')
{
- $res = $object->set_credite();
+ if ($object->statut == 2) {
+ $res = -1;
+ setEventMessages('WithdrawalCantBeCreditedTwice', array(), 'errors');
+ } else {
+ $res = $object->set_credite();
+ }
+
if ($res >= 0)
{
header("Location: card.php?id=".$id);
@@ -145,10 +151,16 @@ if (empty($reshook))
{
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
- $error = $object->set_infocredit($user, $dt);
+ if ($object->statut == 2) {
+ $error = 1;
+ setEventMessages('WithdrawalCantBeCreditedTwice', array(), 'errors');
+ } else {
+ $error = $object->set_infocredit($user, $dt);
+ }
+
if ($error)
{
- setEventMessages($object->error, $object->errors, 'errors');
+ setEventMessages($object->error, $object->errors, 'errors');
}
}
}
diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang
index 553e3ac0eaa..eb26ee91a6f 100644
--- a/htdocs/langs/en_US/withdrawals.lang
+++ b/htdocs/langs/en_US/withdrawals.lang
@@ -44,6 +44,7 @@ MakeBankTransferOrder=Make a credit transfer request
WithdrawRequestsDone=%s direct debit payment requests recorded
ThirdPartyBankCode=Third-party bank code
NoInvoiceCouldBeWithdrawed=No invoice debited successfully. Check that invoices are on companies with a valid IBAN and that IBAN has a UMR (Unique Mandate Reference) with mode %s.
+WithdrawalCantBeCreditedTwice=This withdrawal receipt is already marked as credited; this can't be done twice, as this would potentially create duplicate payments and bank entries.
ClassCredited=Classify credited
ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account?
TransData=Transmission date
diff --git a/htdocs/langs/fr_FR/withdrawals.lang b/htdocs/langs/fr_FR/withdrawals.lang
index e20eca0c75f..771fcfbcc83 100644
--- a/htdocs/langs/fr_FR/withdrawals.lang
+++ b/htdocs/langs/fr_FR/withdrawals.lang
@@ -45,6 +45,7 @@ WithdrawRequestsDone=%s demandes de prélèvements enregistrées
BankTransferRequestsDone=%s demande de prélèvement enregistrée
ThirdPartyBankCode=Code banque du tiers
NoInvoiceCouldBeWithdrawed=Aucune facture traitée avec succès. Vérifiez que les factures sont sur les sociétés avec un BAN par défaut valide et que le BAN a un RUM avec le mode %s .
+WithdrawalCantBeCreditedTwice=Ce bon de prélèvement est déjà classé crédité ; cette opération ne peut pas être réalisée deux fois, car cela pourrait engendrer des doublons dans les paiements et les écritures bancaires.
ClassCredited=Classer crédité
ClassCreditedConfirm=Êtes-vous sûr de vouloir classer ce bon de prélèvement comme crédité sur votre compte bancaire ?
TransData=Date de transmission