From f301d5d26c8915521462bf044f704d139c957a7c Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Tue, 7 Jun 2011 22:54:09 +0200 Subject: [PATCH] Improved setting of default customer / supplier bank account --- gl/includes/db/gl_db_bank_accounts.inc | 24 +++++++++++++++++++----- gl/includes/ui/gl_bank_ui.inc | 6 +++++- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/gl/includes/db/gl_db_bank_accounts.inc b/gl/includes/db/gl_db_bank_accounts.inc index 80c1ccd4..93dc8e71 100644 --- a/gl/includes/db/gl_db_bank_accounts.inc +++ b/gl/includes/db/gl_db_bank_accounts.inc @@ -318,19 +318,33 @@ function get_default_bank_account($curr) function get_default_customer_bank_account($cust_id) { - $sql = "SELECT curr_code FROM ".TB_PREF."debtors_master WHERE debtor_no=".db_escape($cust_id); + if ($cust_id == "") + { + $sql = "SELECT debtor_no FROM ".TB_PREF."debtors_master WHERE inactive=0 ORDER BY debtor_ref LIMIT 1"; + $result = db_query($sql, "could not retreive first customer"); + $row = db_fetch_row($result); + $cust_id = $row[0]; + } + $sql = "SELECT curr_code FROM ".TB_PREF."debtors_master WHERE debtor_no=$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']); + $row = db_fetch_row($result); + $ba = get_default_bank_account($row[0]); return $ba['id']; } function get_default_supplier_bank_account($supplier_id) { + if ($supplier_id == "") + { + $sql = "SELECT supplier_id FROM ".TB_PREF."suppliers WHERE inactive=0 ORDER BY supp_ref LIMIT 1"; + $result = db_query($sql, "could not retreive first supplier"); + $row = db_fetch_row($result); + $supplier_id = $row[0]; + } $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']); + $row = db_fetch_row($result); + $ba = get_default_bank_account($row[0]); return $ba['id']; } //--------------------------------------------------------------------------------------------- diff --git a/gl/includes/ui/gl_bank_ui.inc b/gl/includes/ui/gl_bank_ui.inc index 27027f83..0f3d33f7 100644 --- a/gl/includes/ui/gl_bank_ui.inc +++ b/gl/includes/ui/gl_bank_ui.inc @@ -22,9 +22,13 @@ function display_bank_header(&$order) if (list_updated('PayType') || list_updated('person_id')) { + if (list_updated('PayType')) + { + $_POST['person_id'] = ""; + unset($_POST['bank_account']); + } 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 -- 2.30.2