Credit note can be posted without customer selected when search customer List is...
[fa-stable.git] / gl / bank_transfer.php
index 7b987636a16162d005e06a133bba6b247720013e..35e7743e3a6b3e0ea7df04e5f33ad95325cadc34 100644 (file)
@@ -86,15 +86,18 @@ function gl_payment_controls($trans_no)
                        $_POST['ToBankAccount'] = $to_trans['bank_act'];
                        $_POST['target_amount'] = price_format($to_trans['amount']);
                        $_POST['amount'] = price_format(-$from_trans['amount']);
+                       $_POST['dimension_id'] = $to_trans['dimension_id'];
+                       $_POST['dimension2_id'] = $to_trans['dimension2_id'];
                } else {
-                       $_POST['ref'] = $Refs->get_next(ST_BANKTRANSFER);
+                       $_POST['ref'] = $Refs->get_next(ST_BANKTRANSFER, null, get_post('DatePaid'));
                        $_POST['memo_'] = '';
                        $_POST['FromBankAccount'] = 0;
                        $_POST['ToBankAccount'] = 0;
                        $_POST['amount'] = 0;
+                       $_POST['dimension_id'] = 0;
+                       $_POST['dimension2_id'] = 0;
                }
        }
-       $home_currency = get_company_currency();
 
        start_form();
 
@@ -115,7 +118,14 @@ function gl_payment_controls($trans_no)
        }
     date_row(_("Transfer Date:"), 'DatePaid', '', true, 0, 0, 0, null, true);
 
-       ref_row(_("Reference:"), 'ref', '', $_POST['ref']);
+    ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_BANKTRANSFER, null, get_post('DatePaid')), false, ST_BANKTRANSFER,
+       array('date' => get_post('DatePaid')));
+       $dim = get_company_pref('use_dimension');
+       if ($dim > 0)
+               dimensions_list_row(_("Dimension").":", 'dimension_id', 
+                       null, true, ' ', false, 1, false);
+       else
+               hidden('dimension_id', 0);
 
        table_section(2);
 
@@ -133,6 +143,11 @@ function gl_payment_controls($trans_no)
                amount_row(_("Amount:"), 'amount');
                amount_row(_("Bank Charge:"), 'charge');
        }
+       if ($dim > 1)
+               dimensions_list_row(_("Dimension")." 2:", 'dimension2_id', 
+                       null, true, ' ', false, 2, false);
+       else
+               hidden('dimension2_id', 0);
 
     textarea_row(_("Memo:"), 'memo_', null, 40,4);
 
@@ -183,6 +198,7 @@ function check_valid_entries($trans_no)
 
        $amnt_tr = input_num('charge') + input_num('amount');
 
+       $problemTransaction = null;
        if ($trans_no) {
                $problemTransaction = check_bank_transfer( $trans_no, $_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'],
                        $amnt_tr, input_num('target_amount', $amnt_tr));
@@ -232,15 +248,8 @@ function check_valid_entries($trans_no)
                set_focus('charge');
                return false;
        }
-       if (!$Refs->is_valid($_POST['ref'])) 
-       {
-               display_error(_("You must enter a reference."));
-               set_focus('ref');
-               return false;
-       }
 
-       if (! $trans_no && ! is_new_reference($_POST['ref'], ST_BANKTRANSFER)) {
-               display_error(_("The entered reference is already in use."));
+       if (!check_reference($_POST['ref'], ST_BANKTRANSFER, $trans_no)) {
                set_focus('ref');
                return false;
        }
@@ -279,10 +288,12 @@ function bank_transfer_handle_submit()
 {
        $trans_no = array_key_exists('_trans_no', $_POST) ?  $_POST['_trans_no'] : null;
        if ($trans_no) {
-               $trans_no = update_bank_transfer($trans_no, $_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'), $_POST['ref'], $_POST['memo_'], input_num('charge'), input_num('target_amount'));
+               $trans_no = update_bank_transfer($trans_no, $_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'],     input_num('amount'), 
+                       $_POST['ref'], $_POST['memo_'], $_POST['dimension_id'], $_POST['dimension2_id'], input_num('charge'), input_num('target_amount'));
        } else {
                new_doc_date($_POST['DatePaid']);
-               $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'), $_POST['ref'], $_POST['memo_'], input_num('charge'), input_num('target_amount'));
+               $trans_no = add_bank_transfer($_POST['FromBankAccount'], $_POST['ToBankAccount'], $_POST['DatePaid'], input_num('amount'), $_POST['ref'], 
+                       $_POST['memo_'], $_POST['dimension_id'], $_POST['dimension2_id'], input_num('charge'), input_num('target_amount'));
        }
 
        meta_forward($_SERVER['PHP_SELF'], "AddedID=$trans_no");