Fixed many issues in output HTML code according to HTML 4.01 Transitional format.
[fa-stable.git] / inventory / transfers.php
index 299f4802be44843ebcf32a9ae58a0d0471543e91..f7ae7d959b2c9c70179db098e1373a219f4c933a 100644 (file)
@@ -9,8 +9,8 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-$page_security = 3;
-$path_to_root="..";
+$page_security = 'SA_LOCATIONTRANSFER';
+$path_to_root = "..";
 include_once($path_to_root . "/includes/ui/items_cart.inc");
 
 include_once($path_to_root . "/includes/session.inc");
@@ -25,7 +25,7 @@ if ($use_popup_windows)
        $js .= get_js_open_window(800, 500);
 if ($use_date_picker)
        $js .= get_js_date_picker();
-page(_("Inventory Location Transfers"), false, false, "", $js);
+page(_($help_context = "Inventory Location Transfers"), false, false, "", $js);
 
 //-----------------------------------------------------------------------------------------------
 
@@ -38,7 +38,7 @@ check_db_has_movement_types(_("There are no inventory movement types defined in
 if (isset($_GET['AddedID'])) 
 {
        $trans_no = $_GET['AddedID'];
-       $trans_type = systypes::location_transfer();
+       $trans_type = ST_LOCTRANSFER;
 
        display_notification_centered(_("Inventory transfer has been processed"));
        display_note(get_trans_view_str($trans_type, $trans_no, _("&View this transfer")));
@@ -65,10 +65,8 @@ function handle_new_order()
                unset ($_SESSION['transfer_items']);
        }
 
-    session_register("transfer_items");
-
-       $_SESSION['transfer_items'] = new items_cart(systypes::location_transfer());
-       $_POST['AdjDate'] = Today();
+       $_SESSION['transfer_items'] = new items_cart(ST_LOCTRANSFER);
+       $_POST['AdjDate'] = new_doc_date();
        if (!is_date_in_fiscalyear($_POST['AdjDate']))
                $_POST['AdjDate'] = end_fiscalyear();
        $_SESSION['transfer_items']->tran_date = $_POST['AdjDate'];     
@@ -85,15 +83,15 @@ 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 (!references::is_valid($_POST['ref'])) 
+       if (!$Refs->is_valid($_POST['ref'])) 
        {
                display_error(_("You must enter a reference."));
                set_focus('ref');
                $input_error = 1;
        } 
-       elseif (!is_new_reference($_POST['ref'], systypes::location_transfer())) 
+       elseif (!is_new_reference($_POST['ref'], ST_LOCTRANSFER)) 
        {
                display_error(_("The entered reference is already in use."));
                set_focus('ref');
@@ -101,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;
        } 
@@ -116,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;
                }
        }
@@ -143,7 +138,7 @@ if (isset($_POST['Process']))
        $trans_no = add_stock_transfer($_SESSION['transfer_items']->line_items,
                $_POST['FromStockLocation'], $_POST['ToStockLocation'],
                $_POST['AdjDate'], $_POST['type'], $_POST['ref'], $_POST['memo_']);
-
+       new_doc_date($_POST['AdjDate']);
        $_SESSION['transfer_items']->clear_items();
        unset($_SESSION['transfer_items']);
 
@@ -219,11 +214,11 @@ if (isset($_GET['NewTransfer']) || !isset($_SESSION['transfer_items']))
 }
 
 //-----------------------------------------------------------------------------------------------
-start_form(false, true);
+start_form();
 
 display_order_header($_SESSION['transfer_items']);
 
-start_table("$table_style width=70%", 10);
+start_table(TABLESTYLE, "width='70%'", 10);
 start_row();
 echo "<td>";
 display_transfer_items(_("Items"), $_SESSION['transfer_items']);
@@ -233,7 +228,7 @@ end_row();
 end_table(1);
 
 submit_center_first('Update', _("Update"), '', null);
-submit_center_last('Process', _("Process Transfer"), '', true);
+submit_center_last('Process', _("Process Transfer"), '',  'default');
 
 end_form();
 end_page();