Fixed a bug so calling the popup items (f4) works when making PO, Direct GRN, Direct...
[fa-stable.git] / purchasing / supplier_payment.php
index 5421ee401d426db3ce60862252aa81999c6a94df..9bd3559f4b13596e9b888e4230e9ad0fb0efff94 100644 (file)
@@ -57,10 +57,6 @@ if (isset($_POST['_DatePaid_changed'])) {
   $Ajax->activate('_ex_rate');
 }
 
-if (list_updated('supplier_id') || list_updated('bank_account')) {
-  $_SESSION['alloc']->read();
-  $Ajax->activate('alloc_tbl');
-}
 //----------------------------------------------------------------------------------------
 
 if (!isset($_POST['bank_account'])) { // first page call
@@ -77,7 +73,7 @@ if (!isset($_POST['bank_account'])) { // first page call
                        $_POST['memo_'] = $inv['supp_reference'];
                        foreach($_SESSION['alloc']->allocs as $line => $trans) {
                                if ($trans->type == ST_SUPPINVOICE && $trans->type_no == $_GET['PInvoice']) {
-                                       $_POST['amount'] = 
+                                       $_POST['amount'] =
                                                $_SESSION['alloc']->amount = price_format($_SESSION['alloc']->allocs[$line]->amount);
                                        $_SESSION['alloc']->allocs[$line]->current_allocated =
                                                $_SESSION['alloc']->allocs[$line]->amount;
@@ -87,7 +83,6 @@ if (!isset($_POST['bank_account'])) { // first page call
                        unset($inv);
                } else
                        display_error(_("Invalid purchase invoice number."));
-
        }
 }
 if (isset($_GET['AddedID'])) {
@@ -100,9 +95,10 @@ if (isset($_GET['AddedID'])) {
 
     display_note(get_gl_view_str(ST_SUPPAYMENT, $payment_id, _("View the GL &Journal Entries for this Payment")));
 
+       hyperlink_no_params($path_to_root . "/purchasing/inquiry/supplier_allocation_inquiry.php?supplier_id=", _("Select Another &Supplier Transaction for Payment"));
 //    hyperlink_params($path_to_root . "/purchasing/allocations/supplier_allocate.php", _("&Allocate this Payment"), "trans_no=$payment_id&trans_type=22");
 
-       hyperlink_params($_SERVER['PHP_SELF'], _("Enter another supplier &payment"), "supplier_id=" . $_POST['supplier_id']);
+       hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another Supplier &Payment"), "supplier_id=" . $_POST['supplier_id']);
 
        display_footer_exit();
 }
@@ -210,6 +206,8 @@ function check_inputs()
                return false;
        }
 
+       if (!db_has_currency_rates(get_supplier_currency($_POST['supplier_id']), $_POST['DatePaid'], true))
+               return false;
        $_SESSION['alloc']->amount = -input_num('amount');
 
        if (isset($_POST["TotalNumberOfAllocs"]))
@@ -272,9 +270,20 @@ start_form();
 
     supplier_list_row(_("Payment To:"), 'supplier_id', null, false, true);
 
+       if (list_updated('supplier_id') || list_updated('bank_account')) {
+         $_SESSION['alloc']->read();
+         $_POST['memo_'] = $_POST['amount'] = '';
+         $Ajax->activate('alloc_tbl');
+       }
+
        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']);
 
        table_section(2);
 
@@ -297,9 +306,9 @@ start_form();
        end_outer_table(1); // outer table
 
        if ($bank_currency == $supplier_currency) {
-       div_start('alloc_tbl');
+               div_start('alloc_tbl');
                show_allocatable(false);
-       div_end();
+               div_end();
        }
 
        start_table(TABLESTYLE, "width=60%");