From b5b0113eac5ae70766f09cbb9d0100cede128147 Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Tue, 7 Jun 2011 14:58:27 +0200 Subject: [PATCH] Setting customer/supplier currency bank account in payment / deposit forms. --- gl/includes/db/gl_db_bank_accounts.inc | 18 ++++++++++++++++++ gl/includes/ui/gl_bank_ui.inc | 12 +++++++++++- purchasing/supplier_payment.php | 3 +++ sales/customer_payments.php | 3 ++- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/gl/includes/db/gl_db_bank_accounts.inc b/gl/includes/db/gl_db_bank_accounts.inc index 0850dfe..80c1ccd 100644 --- a/gl/includes/db/gl_db_bank_accounts.inc +++ b/gl/includes/db/gl_db_bank_accounts.inc @@ -315,6 +315,24 @@ function get_default_bank_account($curr) return db_fetch($result); } + +function get_default_customer_bank_account($cust_id) +{ + $sql = "SELECT curr_code FROM ".TB_PREF."debtors_master WHERE debtor_no=".db_escape($cust_id); + $result = db_query($sql, "could not retreive default customer currency code"); + $row = db_fetch($result); + $ba = get_default_bank_account($row['curr_code']); + return $ba['id']; +} + +function get_default_supplier_bank_account($supplier_id) +{ + $sql = "SELECT curr_code FROM ".TB_PREF."suppliers WHERE supplier_id=".db_escape($supplier_id); + $result = db_query($sql, "could not retreive default supplier currency code"); + $row = db_fetch($result); + $ba = get_default_bank_account($row['curr_code']); + return $ba['id']; +} //--------------------------------------------------------------------------------------------- // // This function returns current allowed bank payment limit, or null if limit is not set. diff --git a/gl/includes/ui/gl_bank_ui.inc b/gl/includes/ui/gl_bank_ui.inc index b1031a9..27027f8 100644 --- a/gl/includes/ui/gl_bank_ui.inc +++ b/gl/includes/ui/gl_bank_ui.inc @@ -20,8 +20,18 @@ function display_bank_header(&$order) table_section(1); + if (list_updated('PayType') || list_updated('person_id')) + { + if ($_POST['PayType'] == PT_CUSTOMER || $_POST['PayType'] == PT_SUPPLIER) + { + $Ajax->activate('person_id'); + if ($_POST['PayType'] == PT_CUSTOMER) + $_POST['bank_account'] = get_default_customer_bank_account($_POST['person_id']); + else + $_POST['bank_account'] = get_default_supplier_bank_account($_POST['person_id']); + } + } bank_accounts_list_row( $payment ? _("From:") : _("To:"), 'bank_account', null, true); - if ($payment) bank_balance_row($_POST['bank_account']); diff --git a/purchasing/supplier_payment.php b/purchasing/supplier_payment.php index 276a821..26c2a74 100644 --- a/purchasing/supplier_payment.php +++ b/purchasing/supplier_payment.php @@ -274,6 +274,9 @@ start_form(); set_global_supplier($_POST['supplier_id']); + if (!list_updated('bank_account')) + $_POST['bank_account'] = get_default_supplier_bank_account($_POST['supplier_id']); + bank_accounts_list_row(_("From Bank Account:"), 'bank_account', null, true); bank_balance_row($_POST['bank_account']); diff --git a/sales/customer_payments.php b/sales/customer_payments.php index b67df99..3aa2311 100644 --- a/sales/customer_payments.php +++ b/sales/customer_payments.php @@ -251,7 +251,8 @@ start_form(); $display_discount_percent = percent_format($_POST['pymt_discount']*100) . "%"; table_section(2); - + if (!list_updated('bank_account')) + $_POST['bank_account'] = get_default_customer_bank_account($_POST['customer_id']); bank_accounts_list_row(_("Into Bank Account:"), 'bank_account', null, true); -- 2.30.2