Setting customer/supplier currency bank account in payment / deposit forms.
authorJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 7 Jun 2011 12:58:27 +0000 (14:58 +0200)
committerJoe Hunt <joe.hunt.consulting@gmail.com>
Tue, 7 Jun 2011 12:58:27 +0000 (14:58 +0200)
gl/includes/db/gl_db_bank_accounts.inc
gl/includes/ui/gl_bank_ui.inc
purchasing/supplier_payment.php
sales/customer_payments.php

index 0850dfe01a8c577cd6e5f45a7adafdf85e065aae..80c1ccd445777ee067c06c851eebe8f6ea59b496 100644 (file)
@@ -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.
index b1031a96fab554cac9b68b8202616156ca137643..27027f83638619a035aaf7b2e2015497d478c5fa 100644 (file)
@@ -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']);
        
index 276a821c7734ec3de7b0e5bfedcc8627db20d9e1..26c2a7485635463d97bbe341c0e9fa367c86f39f 100644 (file)
@@ -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']);
index b67df99c774a1b3c06c22e2dd64faab2879c7ed9..3aa23110b78b606fcc03b602b8f4bd4137a082b3 100644 (file)
@@ -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);