From 46ce772a50deab771334852457e20db2cd46ab3b Mon Sep 17 00:00:00 2001 From: Joe Hunt Date: Fri, 18 Dec 2009 15:35:26 +0000 Subject: [PATCH] Allowing a quantity of 0 in a PO item line when modifying caused strange result. Fixed depending on the decimals in the stock item to not allow less than minimum. --- CHANGELOG.txt | 5 +++++ purchasing/po_entry_items.php | 31 ++++++++++++++++++------------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 1ed6714c..ff354099 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,6 +19,11 @@ Legend: ! -> Note $ -> Affected files +18-Dec-2009 Joe Hunt +# Allowing a quantity of 0 in a PO item line when modifying caused strange result. + Fixed depending on the decimals in the stock item to not allow less than minimum. +$ /purchasing/po_entry_items.php + 12-Dec-2009 Joe Hunt ! Implemented search on categories as well in sales_items_list... $ /includes/ui/ui_lists.inc diff --git a/purchasing/po_entry_items.php b/purchasing/po_entry_items.php index 988c90fa..34cce553 100644 --- a/purchasing/po_entry_items.php +++ b/purchasing/po_entry_items.php @@ -157,9 +157,12 @@ function handle_cancel_po() function check_data() { - if (!check_num('qty',0)) + $dec = get_qty_dec($_POST['stock_id']); + $min = 1 / pow(10, $dec); + if (!check_num('qty',$min)) { - display_error(_("The quantity of the order item must be numeric and not less than zero.")); + $min = number_format2($min, $dec); + display_error(_("The quantity of the order item must be numeric and not less than ").$min); set_focus('qty'); return false; } @@ -185,19 +188,21 @@ function handle_update_item() { $allow_update = check_data(); - if ($allow_update && - ($_SESSION['PO']->line_items[$_POST['line_no']]->qty_inv > input_num('qty') || - $_SESSION['PO']->line_items[$_POST['line_no']]->qty_received > input_num('qty'))) + if ($allow_update) { - display_error(_("You are attempting to make the quantity ordered a quantity less than has already been invoiced or received. This is prohibited.") . - "
" . _("The quantity received can only be modified by entering a negative receipt and the quantity invoiced can only be reduced by entering a credit note against this item.")); - set_focus('qty'); - return; - } + if ($_SESSION['PO']->line_items[$_POST['line_no']]->qty_inv > input_num('qty') || + $_SESSION['PO']->line_items[$_POST['line_no']]->qty_received > input_num('qty')) + { + display_error(_("You are attempting to make the quantity ordered a quantity less than has already been invoiced or received. This is prohibited.") . + "
" . _("The quantity received can only be modified by entering a negative receipt and the quantity invoiced can only be reduced by entering a credit note against this item.")); + set_focus('qty'); + return; + } - $_SESSION['PO']->update_order_item($_POST['line_no'], input_num('qty'), input_num('price'), - $_POST['req_del_date']); - unset_form_variables(); + $_SESSION['PO']->update_order_item($_POST['line_no'], input_num('qty'), input_num('price'), + $_POST['req_del_date']); + unset_form_variables(); + } line_start_focus(); } -- 2.30.2