From 35e989af291a302e6cab32d2d78faaafb1f8dbf1 Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Thu, 10 May 2018 21:41:59 +0200 Subject: [PATCH] Task #448 : check currency rate > 0 and payment in eur --- include/class/acc_ledger_purchase.class.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/class/acc_ledger_purchase.class.php b/include/class/acc_ledger_purchase.class.php index 6e53be9c7..2d509f7fd 100644 --- a/include/class/acc_ledger_purchase.class.php +++ b/include/class/acc_ledger_purchase.class.php @@ -276,6 +276,10 @@ class Acc_Ledger_Purchase extends Acc_Ledger throw new Exception(_('Date échéance invalide'),14); } + // Check currency_rate if valid + if ( isNumber($p_currency_rate) == 0 || $p_currency_rate <=0 ) { + throw new Exception(_('Taux devise invalide'),15); + } } /** * Compute the ND amount thanks the attribute of the concerned card. The object @@ -905,7 +909,12 @@ class Acc_Ledger_Purchase extends Acc_Ledger } // remove the VAT autoliquidation $cust_amount=bcsub($cust_amount, $tot_tva_reversed); + + // Convert paid amount in EUR + $acompte=bcmul($acompte, $p_currency_rate); + $famount=bcsub($cust_amount,$acompte); + $acc_pay->poste=$poste_val; $acc_pay->qcode=$fqcode; $acc_pay->amount=abs(round($famount,2));