diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php
index b575180feed..cb59862e005 100644
--- a/htdocs/compta/bank/class/account.class.php
+++ b/htdocs/compta/bank/class/account.class.php
@@ -925,7 +925,8 @@ class Account extends CommonObject
}
else
{
- dol_print_error($this->db);
+ $this->error=$this->db->lasterror;
+ $this->errors[]=$this->error;
return -1;
}
}
diff --git a/htdocs/compta/bank/transfer.php b/htdocs/compta/bank/transfer.php
index 1f3ca1cde8e..a0f5fdea27b 100644
--- a/htdocs/compta/bank/transfer.php
+++ b/htdocs/compta/bank/transfer.php
@@ -44,14 +44,14 @@ $error = 0;
* Actions
*/
-if ($action == 'add_confirm')
+if ($action == 'add')
{
$langs->load("errors");
$dateo = dol_mktime(12,0,0,GETPOST('remonth','int'),GETPOST('reday','int'),GETPOST('reyear','int'));
$label = GETPOST('label','alpha');
$amount= GETPOST('amount');
- $amount_to= GETPOST('amount_to');
+ $amountto= GETPOST('amountto');
if (! $label)
{
@@ -83,7 +83,17 @@ if ($action == 'add_confirm')
$accountto=new Account($db);
$accountto->fetch(GETPOST('account_to','int'));
- if ($accountto->id != $accountfrom->id)
+ if ($accountto->currency_code == $accountfrom->currency_code) {
+ $amountto=$amount;
+ } else {
+ if (! $amountto)
+ {
+ $error++;
+ setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentities("AmountTo")), null, 'errors');
+ }
+ }
+
+ if (($accountto->id != $accountfrom->id) && empty($error))
{
$db->begin();
@@ -103,8 +113,7 @@ if ($action == 'add_confirm')
if (! $error) $bank_line_id_from = $accountfrom->addline($dateo, $typefrom, $label, -1*price2num($amount), '', '', $user);
if (! ($bank_line_id_from > 0)) $error++;
- if ((! $error) && ($accountto->currency_code == $accountfrom->currency_code)) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amount), '', '', $user);
- if ((! $error) && ($accountto->currency_code != $accountfrom->currency_code)) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amount_to), '', '', $user);
+ if (! $error) $bank_line_id_to = $accountto->addline($dateo, $typeto, $label, price2num($amountto), '', '', $user);
if (! ($bank_line_id_to > 0)) $error++;
if (! $error) $result=$accountfrom->add_url_line($bank_line_id_from, $bank_line_id_to, DOL_URL_ROOT.'/compta/bank/ligne.php?rowid=', '(banktransfert)', 'banktransfert');
@@ -114,7 +123,7 @@ if ($action == 'add_confirm')
if (! $error)
{
- $mesgs = $langs->trans("TransferFromToDone","id."\">".$accountfrom->label."","id."\">".$accountto->label."",$amount,$langs->transnoentities("Currency".$conf->currency));
+ $mesgs = $langs->trans("TransferFromToDone","id."\">".$accountfrom->label."","id."\">".$accountto->label."",$amount,$langs->transnoentities("Currency".$conf->currency));
setEventMessages($mesgs, null, 'mesgs');
$db->commit();
}
@@ -139,6 +148,58 @@ if ($action == 'add_confirm')
*/
llxHeader();
+print ' ';
$form=new Form($db);
@@ -146,9 +207,8 @@ $account_from='';
$account_to='';
$label='';
$amount='';
-$amount_to='';
-if ($error)
+if($error)
{
$account_from = GETPOST('account_from','int');
$account_to = GETPOST('account_to','int');
@@ -164,12 +224,12 @@ print "
";
print '