X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fsupplier_payment.php;h=834e5de1b8e08a28a30cb43347c57621c5cccf59;hb=4e657ee817bcaecc22780c26a29b87790f0cab04;hp=c731c491493581e7ed2eef3d114e1c0472d749ae;hpb=5b8ee3cb748382ab5a2665a620183f08c8ba204b;p=fa-stable.git diff --git a/purchasing/supplier_payment.php b/purchasing/supplier_payment.php index c731c491..834e5de1 100644 --- a/purchasing/supplier_payment.php +++ b/purchasing/supplier_payment.php @@ -41,6 +41,9 @@ if (isset($_POST['_supplier_id_editor'])) { array( 'supplier_id', 'bank_account', 'DatePaid', 'PaymentType', 'ref', 'amount', 'discount', 'memo_') ); } +if (isset($_POST['_DatePaid_changed'])) { + $Ajax->activate('_ex_rate'); +} //---------------------------------------------------------------------------------------- if (isset($_GET['AddedID'])) @@ -83,7 +86,7 @@ function display_controls() amount_row(_("Amount of Payment:"), 'amount'); amount_row(_("Amount of Discount:"), 'discount'); - date_row(_("Date Paid") . ":", 'DatePaid'); + date_row(_("Date Paid") . ":", 'DatePaid', '', null, 0, 0, 0, null, true); echo ""; echo ""; // outer table @@ -97,7 +100,7 @@ function display_controls() $bank_currency = get_bank_account_currency($_POST['bank_account']); if ($bank_currency != $supplier_currency) { - exchange_rate_display($bank_currency, $supplier_currency, $_POST['DatePaid']); + exchange_rate_display($bank_currency, $supplier_currency, $_POST['DatePaid'], true); } bank_trans_types_list_row(_("Payment Type:"), 'PaymentType', null); @@ -137,6 +140,13 @@ function check_inputs() return false; } + if (isset($_POST['_ex_rate']) && !check_num('_ex_rate', 0.000001)) + { + display_error(_("The exchange rate must be numeric and greater than zero.")); + set_focus('_ex_rate'); + return false; + } + if ($_POST['discount'] == "") { $_POST['discount'] = 0; @@ -151,7 +161,7 @@ function check_inputs() if (input_num('amount') - input_num('discount') <= 0) { - display_error(_("The total of the amount and the discount negative. Please enter positive values.")); + display_error(_("The total of the amount and the discount is zero or negative. Please enter positive values.")); set_focus('amount'); return false; } @@ -189,9 +199,17 @@ function check_inputs() function handle_add_payment() { + $supp_currency = get_supplier_currency($_POST['supplier_id']); + $bank_currency = get_bank_account_currency($_POST['bank_account']); + $comp_currency = get_company_currency(); + if ($comp_currency != $bank_currency && $bank_currency != $supp_currency) + $rate = 0; + else + $rate = input_num('_ex_rate'); + $payment_id = add_supp_payment($_POST['supplier_id'], $_POST['DatePaid'], $_POST['PaymentType'], $_POST['bank_account'], - input_num('amount'), input_num('discount'), $_POST['ref'], $_POST['memo_']); + input_num('amount'), input_num('discount'), $_POST['ref'], $_POST['memo_'], $rate); //unset($_POST['supplier_id']); unset($_POST['bank_account']);