FIX add db commit

This commit is contained in:
atm-quentin 2018-05-03 10:53:24 +02:00
parent a20ec7ba1e
commit f70df3490f
2 changed files with 39 additions and 2 deletions

View File

@ -736,8 +736,14 @@ if ($massaction == 'confirm_createbills')
}
}
if ($massaction == 'cancelorders')
if (!$error && $massaction == 'cancelorders')
{
$db->begin();
$nbok = 0;
$orders = GETPOST('toselect', 'array');
foreach ($orders as $id_order)
{
@ -745,7 +751,37 @@ if ($massaction == 'cancelorders')
$cmd = new Commande($db);
if ($cmd->fetch($id_order) <= 0)
continue;
$cmd->cancel();
if ($cmd->statut != Commande::STATUS_VALIDATED)
{
$langs->load('errors');
setEventMessages($langs->trans("ErrorObjectMustHaveStatusValidToBeCanceled", $cmd->ref), null, 'errors');
$error++;
break;
}
else
$result = $cmd->cancel();
if ($result < 0)
{
setEventMessages($cmd->error, $cmd->errors, 'errors');
$error++;
break;
}
else
$nbok++;
}
if (!$error)
{
if ($nbok > 1)
setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs');
else
setEventMessages($langs->trans("RecordsModified", $nbok), null, 'mesgs');
$db->commit();
}
else
{
$db->rollback();
}
}

View File

@ -208,6 +208,7 @@ ErrorFileNotFoundWithSharedLink=Fichier non trouvé. Peut que la clé de partage
ErrorProductBarCodeAlreadyExists=Le code-barre du produit %s existe déjà sur une autre référence de produit
ErrorNoteAlsoThatSubProductCantBeFollowedByLot=Notez également que l'utilisation d'un produit virtuel pour augmenter ou réduire automatiquement les sous-produits n'est pas possible lorsqu'au moins un sous-produit (ou sous-produit de sous-produits) a besoin d'un numéro de série/lot.
ErrorDescRequiredForFreeProductLines=La description est obligatoire pour les lignes avec un produit non prédéfini
ErrorObjectMustHaveStatusValidToBeCanceled=L'objet %s doit être au statut 'Validé' pour être annulé
# Warnings
WarningPasswordSetWithNoAccount=Un mot de passe a été fixé pour cet adhérent. Cependant, aucun compte d'utilisateur n'a été créé. Donc, ce mot de passe est stocké, mais ne peut être utilisé pour accéder à Dolibarr. Il peut être utilisé par un module/interface externe, mais si vous n'avez pas besoin de définir ni login ni mot de passe pour un adhérent, vous pouvez désactiver l'option «Gérer un login pour chaque adhérent" depuis la configuration du module Adhérents. Si vous avez besoin de gérer un login, mais pas de mot de passe, vous pouvez laisser ce champ vide pour éviter cet avertissement. Remarque: L'email peut également être utilisé comme login si l'adhérent est lié à un utilisateur.