diff --git a/htdocs/compta/bank/virement.php b/htdocs/compta/bank/virement.php
index 297ce7ece85..314bb86df6a 100644
--- a/htdocs/compta/bank/virement.php
+++ b/htdocs/compta/bank/virement.php
@@ -50,41 +50,47 @@ if ($_POST["action"] == 'add')
if (! $label)
{
$error=1;
- $mesg.="
".$langs->trans("ErrorFieldRequired",$langs->trans("Label"))."
";
+ $mesg.="".$langs->trans("ErrorFieldRequired",$langs->transnoentities("Label"))."
";
}
if (! $amount)
{
$error=1;
- $mesg.="".$langs->trans("ErrorFieldRequired",$langs->trans("Amount"))."
";
+ $mesg.="".$langs->trans("ErrorFieldRequired",$langs->transnoentities("Amount"))."
";
}
if (! $error)
{
require_once(DOL_DOCUMENT_ROOT.'/compta/bank/account.class.php');
- $db->begin();
-
$accountfrom=new Account($db);
$accountfrom->fetch($_POST["account_from"]);
- $bank_line_id_from = $accountfrom->addline($dateo, 'VIR', $label, -1*price2num($amount), '', '', $user);
-
$accountto=new Account($db);
$accountto->fetch($_POST["account_to"]);
- $bank_line_id_to = $accountto->addline($dateo, 'VIR', $label, price2num($amount), '', '', $user);
-
- $result1=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
- $result2=$accountto->add_url_line($bank_line_id_to, $bank_line_id_from, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
-
- if ($result1 > 0 && $result2 > 0)
+ if ($accountto->id != $accountfrom->id)
{
- $mesg.="";
- $db->commit();
+ $db->begin();
+
+ $bank_line_id_from = $accountfrom->addline($dateo, 'VIR', $label, -1*price2num($amount), '', '', $user);
+ $bank_line_id_to = $accountto->addline($dateo, 'VIR', $label, price2num($amount), '', '', $user);
+
+ $result1=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
+ $result2=$accountto->add_url_line($bank_line_id_to, $bank_line_id_from, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
+
+ if ($result1 > 0 && $result2 > 0)
+ {
+ $mesg.="";
+ $db->commit();
+ }
+ else
+ {
+ $mesg.="".$accountfrom->error.' '.$accountto->error."
";
+ $db->rollback();
+ }
}
else
{
- $mesg.="".$accountfrom->error.' '.$accountto->error."
";
- $db->rollback();
+ $mesg.="".$langs->trans("ErrorFromToAccountsMustDiffers")."
";
}
}
}