X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=purchasing%2Fsupplier_payment.php;h=834e5de1b8e08a28a30cb43347c57621c5cccf59;hb=f0f8ddf8c1a03244610594f24263443c41b4b086;hp=a6021942a523975aa107234d56c3aa7e386e88a2;hpb=c09be0dad6b05131e240349a375af7a4b7bf3444;p=fa-stable.git
diff --git a/purchasing/supplier_payment.php b/purchasing/supplier_payment.php
index a6021942..834e5de1 100644
--- a/purchasing/supplier_payment.php
+++ b/purchasing/supplier_payment.php
@@ -31,6 +31,19 @@ check_db_has_bank_accounts(_("There are no bank accounts defined in the system."
check_db_has_bank_trans_types(_("There are no bank payment types defined in the system."));
+//----------------------------------------------------------------------------------------
+if ($ret = context_restore()) {
+ if(isset($ret['supplier_id']))
+ $_POST['supplier_id'] = $ret['supplier_id'];
+}
+if (isset($_POST['_supplier_id_editor'])) {
+ context_call($path_to_root.'/purchasing/manage/suppliers.php?supplier_id='.$_POST['supplier_id'],
+ array( 'supplier_id', 'bank_account', 'DatePaid',
+ 'PaymentType', 'ref', 'amount', 'discount', 'memo_') );
+}
+if (isset($_POST['_DatePaid_changed'])) {
+ $Ajax->activate('_ex_rate');
+}
//----------------------------------------------------------------------------------------
if (isset($_GET['AddedID']))
@@ -73,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
@@ -87,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);
@@ -127,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;
@@ -141,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;
}
@@ -179,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']);
|