Fixed focus issues
[fa-stable.git] / gl / gl_payment.php
index a1cf3d16d222b79a2c9b9b35badeb57405d0c99e..60efb8ae655585504fc28833d988f2de6d1e1aae 100644 (file)
@@ -3,7 +3,6 @@
 $page_security = 3;
 $path_to_root="..";
 include_once($path_to_root . "/includes/ui/items_cart.inc");
-
 include_once($path_to_root . "/includes/session.inc");
 
 include_once($path_to_root . "/includes/date_functions.inc");
@@ -13,14 +12,13 @@ include_once($path_to_root . "/gl/includes/ui/gl_payment_ui.inc");
 include_once($path_to_root . "/gl/includes/gl_db.inc");
 include_once($path_to_root . "/gl/includes/gl_ui.inc");
 
-$js = get_js_form_entry("CodeID2", "code_id", "amount");
+$js = '';
 if ($use_popup_windows)
        $js .= get_js_open_window(800, 500);
 if ($use_date_picker)
        $js .= get_js_date_picker();
-$js .= get_js_set_focus('CodeID2');
 
-page(_("Bank Account Payment Entry"), false, false, "setFocus()", $js);
+page(_("Bank Account Payment Entry"), false, false, '', $js);
 
 //-----------------------------------------------------------------------------------------------
 
@@ -30,7 +28,7 @@ check_db_has_bank_trans_types(_("There are no bank payment types defined in the
 
 //-----------------------------------------------------------------------------------------------
 
-if (isset($_GET['AddedID'])) 
+if (isset($_GET['AddedID']))
 {
        $trans_no = $_GET['AddedID'];
        $trans_type = systypes::bank_payment();
@@ -52,11 +50,11 @@ function copy_to_py()
        $_SESSION['pay_items']->tran_date = $_POST['date_'];
        $_SESSION['pay_items']->transfer_type = $_POST['type'];
        $_SESSION['pay_items']->increase = $_POST['PayType'];
-       if (isset($_POST['person_id']))
-               $_POST['person_id'] = 0;        
+       if (!isset($_POST['person_id']))
+               $_POST['person_id'] = "";
        $_SESSION['pay_items']->person_id = $_POST['person_id'];
        if (!isset($_POST['PersonDetailID']))
-               $_POST['PersonDetailID'] = 0;
+               $_POST['PersonDetailID'] = "";
        $_SESSION['pay_items']->branch_id = $_POST['PersonDetailID'];
        $_SESSION['pay_items']->memo_ = $_POST['memo_'];
 }
@@ -91,7 +89,7 @@ function handle_new_order()
        $_POST['date_'] = Today();
        if (!is_date_in_fiscalyear($_POST['date_']))
                $_POST['date_'] = end_fiscalyear();
-       $_SESSION['pay_items']->tran_date = $_POST['date_'];    
+       $_SESSION['pay_items']->tran_date = $_POST['date_'];
 }
 
 //-----------------------------------------------------------------------------------------------
@@ -101,24 +99,28 @@ if (isset($_POST['Process']))
 
        $input_error = 0;
 
-       if (!references::is_valid($_POST['ref'])) 
+       if (!references::is_valid($_POST['ref']))
        {
                display_error( _("You must enter a reference."));
+               set_focus('ref');
                $input_error = 1;
-       } 
-       elseif (!is_new_reference($_POST['ref'], systypes::bank_payment())) 
+       }
+       elseif (!is_new_reference($_POST['ref'], systypes::bank_payment()))
        {
                display_error( _("The entered reference is already in use."));
+               set_focus('ref');
                $input_error = 1;
-       } 
-       elseif (!is_date($_POST['date_'])) 
+       }
+       elseif (!is_date($_POST['date_']))
        {
                display_error(_("The entered date for the payment is invalid."));
+               set_focus('date_');
                $input_error = 1;
-       } 
-       elseif (!is_date_in_fiscalyear($_POST['date_'])) 
+       }
+       elseif (!is_date_in_fiscalyear($_POST['date_']))
        {
                display_error(_("The entered date is not in fiscal year."));
+               set_focus('date_');
                $input_error = 1;
        }
 
@@ -148,27 +150,24 @@ if (isset($_POST['Process']))
 
 function check_item_data()
 {
-       if (!is_numeric($_POST['amount']))
+       if (!check_num('amount', 0))
        {
-               display_error( _("The amount entered is not a valid number."));
+               display_error( _("The amount entered is not a valid number or is less than zero."));
+               set_focus('amount');
                return false;
        }
 
-       if ($_POST['amount'] <= 0)
-       {
-               display_error( _("The amount entered must be a postitive number."));
-               return false;
-       }
-
-       if ($_POST['code_id'] == $_POST['bank_account']) 
+       if ($_POST['code_id'] == $_POST['bank_account'])
        {
                display_error( _("The source and destination accouts cannot be the same."));
+               set_focus('code_id');
                return false;
        }
 
-       if (is_bank_account($_POST['code_id'])) 
+       if (is_bank_account($_POST['code_id']))
        {
                display_error( _("You cannot make a payment to a bank account. Please use the transfer funds facility for this."));
+               set_focus('code_id');
                return false;
        }
 
@@ -181,9 +180,10 @@ function handle_update_item()
 {
     if($_POST['UpdateItem'] != "" && check_item_data())
     {
-       $_SESSION['pay_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'], 
-               $_POST['dimension2_id'], $_POST['amount'], $_POST['LineMemo']);
+       $_SESSION['pay_items']->update_gl_item($_POST['Index'], $_POST['dimension_id'],
+               $_POST['dimension2_id'], input_num('amount'), $_POST['LineMemo']);
     }
+       set_focus('_code_id_edit');
 }
 
 //-----------------------------------------------------------------------------------------------
@@ -200,26 +200,36 @@ function handle_new_item()
        if (!check_item_data())
                return;
 
-       $_SESSION['pay_items']->add_gl_item($_POST['code_id'], $_POST['dimension_id'], 
-               $_POST['dimension2_id'], $_POST['amount'], $_POST['LineMemo']);
+       $_SESSION['pay_items']->add_gl_item($_POST['code_id'], $_POST['dimension_id'],
+               $_POST['dimension2_id'], input_num('amount'), $_POST['LineMemo']);
 }
 
 //-----------------------------------------------------------------------------------------------
 
-if (isset($_GET['Delete']) || isset($_GET['Edit']))
+if (isset($_GET['Edit'])) {
+       copy_from_py();
+       set_focus('dimension_id');
+}
+if (isset($_GET['Delete'])) {
        copy_from_py();
-
-if (isset($_GET['Delete']))
        handle_delete_item();
-
-if (isset($_POST['AddItem']) || isset($_POST['UpdateItem']))
+       set_focus('_code_id_edit');
+}
+if (isset($_POST['AddItem'])) {
        copy_to_py();
-       
-if (isset($_POST['AddItem']))
        handle_new_item();
-
-if (isset($_POST['UpdateItem']))
+       set_focus('_code_id_edit');
+}
+if (isset($_POST['UpdateItem'])) {
+       copy_to_py();
        handle_update_item();
+       set_focus('_code_id_edit');
+}
+if (isset($_POST['CancelItemChanges']))
+       set_focus('_code_id_edit');
+
+if (isset($_POST['EditItem']))
+       set_focus('dimension_id');
 
 //-----------------------------------------------------------------------------------------------
 
@@ -245,9 +255,13 @@ end_table(1);
 
 if (!isset($_POST['Process']))
 {
-    submit_center_first('Update', _("Update"));
        if ($_SESSION['pay_items']->count_gl_items() >= 1)
+       {
+       submit_center_first('Update', _("Update"));
            submit_center_last('Process', _("Process Payment"));
+       }
+       else
+       submit_center('Update', _("Update"));
 }
 
 end_form();