X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fcustomer_payments.php;h=5c871834e8e3540d7d172dfd305f9d6ce296e65d;hb=1626f8d1594dc467722783e3818f222dae88ad0b;hp=c93db3a1a704ae1a20da8336d48ef718764194e0;hpb=c09be0dad6b05131e240349a375af7a4b7bf3444;p=fa-stable.git diff --git a/sales/customer_payments.php b/sales/customer_payments.php index c93db3a1..5c871834 100644 --- a/sales/customer_payments.php +++ b/sales/customer_payments.php @@ -1,5 +1,14 @@ . +***********************************************************************/ $path_to_root=".."; $page_security = 3; include_once($path_to_root . "/includes/session.inc"); @@ -24,20 +33,29 @@ check_db_has_customers(_("There are no customers defined in the system.")); 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['customer_id'])) + $_POST['customer_id'] = $ret['customer_id']; + if(isset($ret['branch_id'])) + $_POST['BranchID'] = $ret['branch_id']; +} +if (isset($_POST['_customer_id_editor'])) { + context_call($path_to_root.'/sales/manage/customers.php?debtor_no='.$_POST['customer_id'], + array( 'customer_id', 'BranchID', 'bank_account', 'DateBanked', + 'ref', 'amount', 'discount', 'memo_') ); +} if (isset($_GET['AddedID'])) { $payment_no = $_GET['AddedID']; display_notification_centered(_("The customer payment has been successfully entered.")); - display_note(get_gl_view_str(12, $payment_no, _("View the GL Journal Entries for this Customer Payment"))); + display_note(get_gl_view_str(12, $payment_no, _("&View the GL Journal Entries for this Customer Payment"))); - hyperlink_params($path_to_root . "/sales/allocations/customer_allocate.php", _("Allocate this Customer Payment"), "trans_no=$payment_no&trans_type=12"); + hyperlink_params($path_to_root . "/sales/allocations/customer_allocate.php", _("&Allocate this Customer Payment"), "trans_no=$payment_no&trans_type=12"); - hyperlink_no_params($path_to_root . "/sales/customer_payments.php", _("Enter Another Customer Payment")); + hyperlink_no_params($path_to_root . "/sales/customer_payments.php", _("Enter Another &Customer Payment")); br(1); end_page(); exit; @@ -75,6 +93,18 @@ function can_process() 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; + } + if (!check_num('discount')) { display_error(_("The entered discount is not a valid number.")); set_focus('discount'); @@ -101,15 +131,26 @@ if (isset($_POST['AddPaymentItem'])) { } if (isset($_POST['_customer_id_button'])) { // unset($_POST['branch_id']); - $Ajax->activate('branch_id'); + $Ajax->activate('BranchID'); +} +if (isset($_POST['_DateBanked_changed'])) { + $Ajax->activate('_ex_rate'); } //---------------------------------------------------------------------------------------------- if (isset($_POST['AddPaymentItem'])) { - $payment_no = write_customer_payment(0, $_POST['customer_id'], $_POST['BranchID'], - $_POST['bank_account'], $_POST['DateBanked'], $_POST['ReceiptType'], $_POST['ref'], - input_num('amount'), input_num('discount'), $_POST['memo_']); + + $cust_currency = get_customer_currency($_POST['customer_id']); + $bank_currency = get_bank_account_currency($_POST['bank_account']); + $comp_currency = get_company_currency(); + if ($comp_currency != $bank_currency && $bank_currency != $cust_currency) + $rate = 0; + else + $rate = input_num('_ex_rate'); + $payment_no = write_customer_payment(0, $_POST['customer_id'], $_POST['BranchID'], + $_POST['bank_account'], $_POST['DateBanked'], $_POST['ref'], + input_num('amount'), input_num('discount'), $_POST['memo_'], $rate); meta_forward($_SERVER['PHP_SELF'], "AddedID=$payment_no"); } @@ -137,10 +178,9 @@ function read_customer_data() function display_item_form() { global $table_style2; - start_table($table_style2, 5, 7); - echo ""; // outer table - echo ""; + start_outer_table($table_style2, 5); + table_section(1); if (!isset($_POST['customer_id'])) $_POST['customer_id'] = get_global_customer(false); @@ -160,10 +200,9 @@ function display_item_form() read_customer_data(); set_global_customer($_POST['customer_id']); - if (isset($_POST['HoldAccount']) && $_POST['HoldAccount'] != 0) { - echo "
"; - display_note(_("This customer account is on hold."), 0, 0, "class='redfb'"); + end_outer_table(); + display_error(_("This customer account is on hold.")); } else { $display_discount_percent = percent_format($_POST['pymt_discount']*100) . "%"; @@ -173,11 +212,9 @@ function display_item_form() label_row(_("Customer prompt payment discount :"), $display_discount_percent); - date_row(_("Date of Deposit:"), 'DateBanked'); + date_row(_("Date of Deposit:"), 'DateBanked','',null, 0, 0, 0, null, true); - echo ""; - echo ""; // outer table - echo ""; + table_section(2); bank_accounts_list_row(_("Into Bank Account:"), 'bank_account', null, true); @@ -185,19 +222,14 @@ function display_item_form() $bank_currency = get_bank_account_currency($_POST['bank_account']); if ($cust_currency != $bank_currency) { - exchange_rate_display($cust_currency, $bank_currency, $_POST['DateBanked']); + exchange_rate_display($bank_currency, $cust_currency, $_POST['DateBanked'], true); } - bank_trans_types_list_row(_("Type:"), 'ReceiptType', null); - text_row(_("Reference:"), 'ref', null, 20, 40); textarea_row(_("Memo:"), 'memo_', null, 22, 4); - echo "
"; - - echo ""; - end_table(); // outer table + end_outer_table(1); if ($cust_currency != $bank_currency) display_note(_("Amount and discount are in customer's currency."));