From df0a865dbfdbdd5213fdce65e0f0aeb5feb19c69 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Fri, 26 Jun 2009 10:07:35 +0000 Subject: [PATCH] Added bank charge in bank transfer --- CHANGELOG.txt | 4 +++- gl/bank_transfer.php | 25 ++++++++++++++----------- gl/includes/db/gl_db_banking.inc | 13 ++++++++++--- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index c796017a..eb2fd3cf 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -20,9 +20,11 @@ Legend: $ -> Affected files 26-Jun-2009 Joe Hunt -+ Added Bank Charge field to Customer Payment and Supplier Payment and a new default bank charge account in gl_setup. ++ Added Bank Charge field to Customer Payment, Supplier Payment and Bank Transfer and a new default bank charge account in gl_setup. $ /admin/gl_setup.php /admin/db/company_db.inc + /gl/bank_transfer.php + /gl/includes/db/gl_db_banking.inc /purchasing/supplier_payment.php /purchasing/includes/db/supp_payment_db.inc /sales/customer_payment.php diff --git a/gl/bank_transfer.php b/gl/bank_transfer.php index 0f4ea916..94748d2f 100644 --- a/gl/bank_transfer.php +++ b/gl/bank_transfer.php @@ -58,10 +58,10 @@ function gl_payment_controls() start_form(); - start_table($table_style2, 5, 7); - echo ""; // outer table + start_outer_table($table_style2, 5); + + table_section(1); - echo ""; bank_accounts_list_row(_("From Account:"), 'FromBankAccount', null, true); bank_accounts_list_row(_("To Account:"), 'ToBankAccount', null, true); @@ -73,26 +73,23 @@ function gl_payment_controls() if ($from_currency != "" && $to_currency != "" && $from_currency != $to_currency) { amount_row(_("Amount:"), 'amount', null, null, $from_currency); + amount_row(_("Bank Charge:"), 'charge', null, null, $from_currency); exchange_rate_display($from_currency, $to_currency, $_POST['DatePaid']); } else { amount_row(_("Amount:"), 'amount'); + amount_row(_("Bank Charge:"), 'charge'); } - echo "
"; - echo ""; // outer table - echo ""; + table_section(2); ref_row(_("Reference:"), 'ref', '', references::get_next(systypes::bank_transfer())); textarea_row(_("Memo:"), 'memo_', null, 40,4); - end_table(1); - - echo ""; - end_table(1); // outer table + end_outer_table(1); // outer table submit_center('AddPayment',_("Enter Transfer"), true, '', 'default'); @@ -123,6 +120,12 @@ function check_valid_entries() return false; } + if (isset($_POST['charge']) && !check_num('charge', 0)) + { + display_error(_("The entered amount is invalid or less than zero.")); + set_focus('charge'); + return false; + } if (!references::is_valid($_POST['ref'])) { display_error(_("You must enter a reference.")); @@ -152,7 +155,7 @@ function check_valid_entries() function handle_add_deposit() { $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'], - $_POST['DatePaid'], input_num('amount'), $_POST['ref'], $_POST['memo_']); + $_POST['DatePaid'], input_num('amount'), $_POST['ref'], $_POST['memo_'], input_num('charge')); meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no"); } diff --git a/gl/includes/db/gl_db_banking.inc b/gl/includes/db/gl_db_banking.inc index 18ea4960..a47dd73a 100644 --- a/gl/includes/db/gl_db_banking.inc +++ b/gl/includes/db/gl_db_banking.inc @@ -56,7 +56,7 @@ function add_exchange_variation_all() // function add_bank_transfer($from_account, $to_account, $date_, - $amount, $ref, $memo_) + $amount, $ref, $memo_, $charge=0) { begin_transaction(); @@ -72,16 +72,23 @@ function add_bank_transfer($from_account, $to_account, $date_, $total = 0; // do the source account postings $total += add_gl_trans($trans_type, $trans_no, $date_, $from_gl_account, 0, 0, "", - -$amount, $currency); + -($amount + $charge), $currency); add_bank_trans($trans_type, $trans_no, $from_account, $ref, - $date_, -$amount, + $date_, -($amount + $charge), payment_person_types::misc(), "", $currency, "Cannot insert a source bank transaction"); add_exchange_variation($trans_type, $trans_no, $date_, $from_account, $from_gl_account, $currency, payment_person_types::misc(), ""); + if ($charge != 0) + { + /* Now Debit bank charge account with charges */ + $charge_act = get_company_pref('bank_charge_act'); + $total += add_gl_trans($trans_type, $trans_no, $date_, + $charge_act, 0, 0, "", $charge, $currency); + } // do the destination account postings $total += add_gl_trans($trans_type, $trans_no, $date_, $to_gl_account, 0, 0, "", $amount, $currency); -- 2.30.2