Stable branch merged up to 2.3.21
[fa-stable.git] / manufacturing / work_order_issue.php
index dc2a4380737d304d4c1062768f13907ad6ffe31c..b5d6e4cc1f0058d6d264f1780b6039a1154fbcaf 100644 (file)
@@ -11,6 +11,7 @@
 ***********************************************************************/
 $page_security = 'SA_MANUFISSUE';
 $path_to_root = "..";
+
 include_once($path_to_root . "/includes/ui/items_cart.inc");
 
 include_once($path_to_root . "/includes/session.inc");
@@ -26,6 +27,7 @@ if ($use_popup_windows)
        $js .= get_js_open_window(800, 500);
 if ($use_date_picker)
        $js .= get_js_date_picker();
+
 page(_($help_context = "Issue Items to Work Order"), false, false, "", $js);
 
 //-----------------------------------------------------------------------------------------------
@@ -62,14 +64,11 @@ function handle_new_order()
                unset ($_SESSION['issue_items']);
        }
 
-     Session_register("issue_items");
-
-     $_SESSION['issue_items'] = new items_cart(28);
+     $_SESSION['issue_items'] = new items_cart(ST_MANUISSUE);
      $_SESSION['issue_items']->order_id = $_GET['trans_no'];
 }
 
 //-----------------------------------------------------------------------------------------------
-
 function can_process()
 {
        global $Refs;
@@ -82,7 +81,7 @@ function can_process()
        } 
        elseif (!is_date_in_fiscalyear($_POST['date_'])) 
        {
-               display_error(_("The entered date is not in fiscal year."));
+               display_error(_("The entered date is out of fiscal year or is closed for further data entry."));
                set_focus('date_');
                return false;
        }
@@ -93,7 +92,7 @@ function can_process()
                return false;
        }
 
-       if (!is_new_reference($_POST['ref'], 28)) 
+       if (!is_new_reference($_POST['ref'], ST_MANUISSUE)) 
        {
                display_error(_("The entered reference is already in use."));
                set_focus('ref');
@@ -103,8 +102,9 @@ function can_process()
        $failed_item = $_SESSION['issue_items']->check_qoh($_POST['Location'], $_POST['date_'], !$_POST['IssueType']);
        if ($failed_item != -1) 
        {
+               $item = $_SESSION['issue_items']->line_items[$failed_item];
        display_error( _("The issue cannot be processed because an entered item would cause a negative inventory balance :") .
-               " " . $failed_item->stock_id . " - " .  $failed_item->item_description);
+               " " . $item->stock_id . " - " .  $item->item_description);
                return false;
        }
 
@@ -136,7 +136,7 @@ if (isset($_POST['Process']) && can_process())
 
 function check_item_data()
 {
-       if (!check_num('qty', 0))
+       if (input_num('qty') == 0 || !check_num('qty', 0))
        {
                display_error(_("The quantity entered is negative or invalid."));
                set_focus('qty');