Improved setting of default customer / supplier bank account
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 7 Jun 2011 20:54:09 +0000 (22:54 +0200)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 7 Jun 2011 20:54:09 +0000 (22:54 +0200)
gl/includes/db/gl_db_bank_accounts.inc
gl/includes/ui/gl_bank_ui.inc

index 80c1ccd445777ee067c06c851eebe8f6ea59b496..93dc8e716062bf8975f002216dde61825568b9b0 100644 (file)
@@ -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'];
 }
 //---------------------------------------------------------------------------------------------
index 27027f83638619a035aaf7b2e2015497d478c5fa..0f3d33f7382297e35f81c25a93d516127d774e2e 100644 (file)
@@ -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