Fixed merge problem in Item Cost Update.
[fa-stable.git] / inventory / transfers.php
index b4cc678e452c3a31b35f9a8fd9bd007bde1a0a4a..2dbd00b3dd7192c5c3d5868db18c1c3756a2265a 100644 (file)
@@ -23,7 +23,7 @@ include_once($path_to_root . "/inventory/includes/inventory_db.inc");
 $js = "";
 if ($use_popup_windows)
        $js .= get_js_open_window(800, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
        $js .= get_js_date_picker();
 page(_($help_context = "Inventory Location Transfers"), false, false, "", $js);
 
@@ -65,8 +65,6 @@ function handle_new_order()
                unset ($_SESSION['transfer_items']);
        }
 
-    //session_register("transfer_items");
-
        $_SESSION['transfer_items'] = new items_cart(ST_LOCTRANSFER);
        $_POST['AdjDate'] = new_doc_date();
        if (!is_date_in_fiscalyear($_POST['AdjDate']))
@@ -78,7 +76,6 @@ function handle_new_order()
 
 if (isset($_POST['Process']))
 {
-       global $Refs;
 
        $tr = &$_SESSION['transfer_items'];
        $input_error = 0;
@@ -86,7 +83,7 @@ if (isset($_POST['Process']))
        if (count($tr->line_items) == 0)        {
                display_error(_("You must enter at least one non empty item line."));
                set_focus('stock_id');
-               return false;
+               $input_error = 1;
        }
        if (!$Refs->is_valid($_POST['ref'])) 
        {
@@ -102,7 +99,7 @@ if (isset($_POST['Process']))
        } 
        elseif (!is_date($_POST['AdjDate'])) 
        {
-               display_error(_("The entered date for the adjustment is invalid."));
+               display_error(_("The entered transfer date is invalid."));
                set_focus('AdjDate');
                $input_error = 1;
        } 
@@ -117,17 +114,14 @@ if (isset($_POST['Process']))
                display_error(_("The locations to transfer from and to must be different."));
                set_focus('FromStockLocation');
                $input_error = 1;
-       } 
-       else 
+       }
+       elseif (!$SysPrefs->allow_negative_stock())
        {
-               $failed_item = $tr->check_qoh($_POST['FromStockLocation'], $_POST['AdjDate'], true);
-               if ($failed_item >= 0) 
+               $low_stock = $tr->check_qoh($_POST['FromStockLocation'], $_POST['AdjDate'], true);
+
+               if ($low_stock)
                {
-                       $line = $tr->line_items[$failed_item];
-               display_error(_("The quantity entered is greater than the available quantity for this item at the source location :") .
-                       " " . $line->stock_id . " - " .  $line->item_description);
-               echo "<br>";
-                       $_POST['Edit'.$failed_item] = 1; // enter edit mode
+               display_error(_("The transfer cannot be processed because it would cause negative inventory balance in source location for marked items as of document date or later."));
                        $input_error = 1;
                }
        }
@@ -239,4 +233,3 @@ submit_center_last('Process', _("Process Transfer"), '',  'default');
 end_form();
 end_page();
 
-?>