Focus set to invalid field after submit check fail
[fa-stable.git] / purchasing / supplier_invoice_grns.php
index 95c345192056b535f22fea52fa7d48f5d563cd8b..13f4d3040b78c7182b9b6c1d3668243e1ed07fdc 100644 (file)
@@ -36,23 +36,29 @@ function check_data()
        if (!check_num('this_quantity_inv', 0) || input_num('this_quantity_inv')==0) 
        {
                display_error( _("The quantity to invoice must be numeric and greater than zero."));
+               set_focus('this_quantity_inv');
                return false;
        }
 
        if (!check_num('ChgPrice'))
        {
                display_error( _("The price is not numeric."));
+               set_focus('ChgPrice');
                return false;
        }
 
        if ($check_price_charged_vs_order_price == True) 
        {
-               if (input_num('ChgPrice')/$_POST['order_price'] > 
-                       (1 + (sys_prefs::over_charge_allowance() / 100)))
-               {
+               if ($_POST['order_price']!=input_num('ChgPrice')) {
+                    if ($_POST['order_price']==0 ||
+                       input_num('ChgPrice')/$_POST['order_price'] > 
+                           (1 + (sys_prefs::over_charge_allowance() / 100)))
+                   {
                        display_error(_("The price being invoiced is more than the purchase order price by more than the allowed over-charge percentage. The system is set up to prohibit this. See the system administrator to modify the set up parameters if necessary.") .
                        _("The over-charge percentage allowance is :") . sys_prefs::over_charge_allowance() . "%");
+                       set_focus('ChgPrice');
                        return false;
+                   }
                }
        }
 
@@ -63,6 +69,7 @@ function check_data()
                {
                        display_error( _("The quantity being invoiced is more than the outstanding quantity by more than the allowed over-charge percentage. The system is set up to prohibit this. See the system administrator to modify the set up parameters if necessary.")
                        . _("The over-charge percentage allowance is :") . sys_prefs::over_charge_allowance() . "%");
+                       set_focus('this_quantity_inv');
                        return false;
                }
        }