Changed the default header2.inc.
[fa-stable.git] / purchasing / po_receive_items.php
index 8ad1ef068b10aa565e467ef13b906fd501fca5cf..d58e2aabfaca8a6e6972b44693709d4d2e1fb132 100644 (file)
@@ -10,32 +10,34 @@ include_once($path_to_root . "/purchasing/includes/purchasing_ui.inc");
 $js = "";
 if ($use_popup_windows)
        $js .= get_js_open_window(900, 500);
+if ($use_date_picker)
+       $js .= get_js_date_picker();
 page(_("Receive Purchase Order Items"), false, false, "", $js);
 
 //---------------------------------------------------------------------------------------------------------------
 
-if (isset($_GET['AddedID'])) 
+if (isset($_GET['AddedID']))
 {
        $grn = $_GET['AddedID'];
        $trans_type = 25;
 
        display_notification_centered(_("Purchase Order Delivery has been processed"));
 
-       display_note(get_trans_view_str($trans_type, $grn, _("View this Delivery")));
+       display_note(get_trans_view_str($trans_type, $grn, _("&View this Delivery")));
 
        //echo "<BR>";
-       //echo get_gl_view_str(25, $grn, _("View the GL Journal Entries for this Delivery"));
+       //echo get_gl_view_str(25, $grn, _("View the GL &Journal Entries for this Delivery"));
 
-       echo "<br>";
-       hyperlink_no_params("$path_to_root/purchasing/inquiry/po_search.php", _("Select a different purchase order for receiving items against"));
+//     echo "<br>";
+       hyperlink_no_params("$path_to_root/purchasing/inquiry/po_search.php", _("Select a different &purchase order for receiving items against"));
 
        display_footer_exit();
 }
 
 //--------------------------------------------------------------------------------------------------
 
-if ((!isset($_GET['PONumber']) || $_GET['PONumber'] == 0) && !isset($_SESSION['PO'])) 
-//if (isset($_GET['PONumber']) && !$_GET['PONumber'] > 0 && !isset($_SESSION['PO'])) 
+if ((!isset($_GET['PONumber']) || $_GET['PONumber'] == 0) && !isset($_SESSION['PO']))
+//if (isset($_GET['PONumber']) && !$_GET['PONumber'] > 0 && !isset($_SESSION['PO']))
 {
        die (_("This page can only be opened if a purchase order has been selected. Please select a purchase order first."));
 }
@@ -45,10 +47,12 @@ if ((!isset($_GET['PONumber']) || $_GET['PONumber'] == 0) && !isset($_SESSION['P
 function display_po_receive_items()
 {
        global $table_style;
+
+       div_start('grn_items');
     start_table("colspan=7 $table_style width=90%");
     $th = array(_("Item Code"), _("Description"), _("Ordered"), _("Units"), _("Received"),
        _("Outstanding"), _("This Delivery"), _("Price"), _("Total"));
-    table_header($th); 
+    table_header($th);
 
     /*show the line items on the order with the quantity being received for modification */
 
@@ -57,7 +61,7 @@ function display_po_receive_items()
 
     if (count($_SESSION['PO']->line_items)> 0 )
     {
-               foreach ($_SESSION['PO']->line_items as $ln_itm) 
+               foreach ($_SESSION['PO']->line_items as $ln_itm)
                {
 
                        alt_table_row_color($k);
@@ -77,16 +81,17 @@ function display_po_receive_items()
                                text_cells(null, $ln_itm->stock_id . "Desc", $ln_itm->item_description, 30, 50);
                        else
                                label_cell($ln_itm->item_description);
-                       qty_cell($ln_itm->quantity);
+                       $dec = get_qty_dec($ln_itm->stock_id);
+                       qty_cell($ln_itm->quantity, false, $dec);
                        label_cell($ln_itm->units);
-                       qty_cell($ln_itm->qty_received);
-                       qty_cell($qty_outstanding);
+                       qty_cell($ln_itm->qty_received, false, $dec);
+                       qty_cell($qty_outstanding, false, $dec);
 
                        if ($qty_outstanding > 0)
-                               text_cells(null, $ln_itm->line_no, $ln_itm->receive_qty, 10, 10, "align=right");
+                               qty_cells(null, $ln_itm->line_no, number_format2($ln_itm->receive_qty, $dec), "align=right", null, $dec);
                        else
-                               text_cells(null, $ln_itm->line_no, $ln_itm->receive_qty, 10, 10, "align=right", 
-                                       "", "disabled");
+                               qty_cells(null, $ln_itm->line_no, number_format2($ln_itm->receive_qty, $dec), "align=right",
+                                       "disabled", $dec);
 
                        amount_cell($ln_itm->price);
                        amount_cell($line_total);
@@ -98,6 +103,7 @@ function display_po_receive_items()
     label_row(_("Total value of items received"), $display_total, "colspan=8 align=right",
        "nowrap align=right");
     end_table();
+       div_end();
 }
 
 //--------------------------------------------------------------------------------------------------
@@ -117,18 +123,18 @@ function check_po_changed()
     check_db_error("Could not check that the details of the purchase order had not been changed by another user ", $sql);
 
        $line_no = 1;
-       while ($myrow = db_fetch($result)) 
+       while ($myrow = db_fetch($result))
        {
                $ln_item = $_SESSION['PO']->line_items[$line_no];
 
                // only compare against items that are outstanding
                $qty_outstanding = $ln_item->quantity - $ln_item->qty_received;
-               if ($qty_outstanding > 0) 
+               if ($qty_outstanding > 0)
                {
-               if ($ln_item->qty_inv != $myrow["qty_invoiced"] || 
-                       $ln_item->stock_id != $myrow["item_code"] || 
-                       $ln_item->quantity != $myrow["quantity_ordered"] || 
-                       $ln_item->qty_received != $myrow["quantity_received"]) 
+               if ($ln_item->qty_inv != $myrow["qty_invoiced"] ||
+                       $ln_item->stock_id != $myrow["item_code"] ||
+                       $ln_item->quantity != $myrow["quantity_ordered"] ||
+                       $ln_item->qty_received != $myrow["quantity_received"])
                {
                        return true;
                }
@@ -149,28 +155,31 @@ function can_process()
        return false;
        }
 
-       if (!is_date($_POST['DefaultReceivedDate'])) 
+       if (!is_date($_POST['DefaultReceivedDate']))
        {
                display_error(_("The entered date is invalid."));
+               set_focus('DefaultReceivedDate');
                return false;
        }
 
-    if (!references::is_valid($_POST['ref'])) 
+    if (!references::is_valid($_POST['ref']))
     {
                display_error(_("You must enter a reference."));
+               set_focus('ref');
                return false;
        }
 
-       if (!is_new_reference($_POST['ref'], 25)) 
+       if (!is_new_reference($_POST['ref'], 25))
        {
                display_error(_("The entered reference is already in use."));
+               set_focus('ref');
                return false;
        }
 
        $something_received = 0;
-       foreach ($_SESSION['PO']->line_items as $order_line) 
+       foreach ($_SESSION['PO']->line_items as $order_line)
        {
-               if ($order_line->receive_qty > 0) 
+               if ($order_line->receive_qty > 0)
                {
                        $something_received = 1;
                        break;
@@ -179,10 +188,10 @@ function can_process()
 
     // Check whether trying to deliver more items than are recorded on the actual purchase order (+ overreceive allowance)
     $delivery_qty_too_large = 0;
-       foreach ($_SESSION['PO']->line_items as $order_line) 
+       foreach ($_SESSION['PO']->line_items as $order_line)
        {
-               if ($order_line->receive_qty+$order_line->qty_received > 
-                       $order_line->quantity * (1+ (sys_prefs::over_receive_allowance() / 100))) 
+               if ($order_line->receive_qty+$order_line->qty_received >
+                       $order_line->quantity * (1+ (sys_prefs::over_receive_allowance() / 100)))
                {
                        $delivery_qty_too_large = 1;
                        break;
@@ -193,7 +202,7 @@ function can_process()
     {  /*Then dont bother proceeding cos nothing to do ! */
         display_error(_("There is nothing to process. Please enter valid quantities greater than zero."));
        return false;
-    } 
+    }
     elseif ($delivery_qty_too_large == 1)
     {
        display_error(_("Entered quantities cannot be greater than the quantity entered on the purchase order including the allowed over-receive percentage") . " (" . sys_prefs::over_receive_allowance() ."%)."
@@ -209,12 +218,12 @@ function can_process()
 
 function process_receive_po()
 {
-       global $path_to_root;
+       global $path_to_root, $Ajax;
 
        if (!can_process())
                return;
 
-       if (check_po_changed()) 
+       if (check_po_changed())
        {
                echo "<br> " . _("This order has been changed or invoiced since this delivery was started to be actioned. Processing halted. To enter a delivery against this purchase order, it must be re-selected and re-read again to update the changes made by the other user.") . "<BR>";
 
@@ -223,6 +232,7 @@ function process_receive_po()
                unset($_SESSION['PO']->line_items);
                unset($_SESSION['PO']);
                unset($_POST['ProcessGoodsReceived']);
+               $Ajax->activate('_page_body');
                exit;
        }
 
@@ -237,7 +247,7 @@ function process_receive_po()
 
 //--------------------------------------------------------------------------------------------------
 
-if (isset($_GET['PONumber']) && $_GET['PONumber'] > 0 && !isset($_POST['Update'])) 
+if (isset($_GET['PONumber']) && $_GET['PONumber'] > 0 && !isset($_POST['Update']))
 {
 
        create_new_po();
@@ -248,28 +258,29 @@ if (isset($_GET['PONumber']) && $_GET['PONumber'] > 0 && !isset($_POST['Update']
 
 //--------------------------------------------------------------------------------------------------
 
-if (isset($_POST['Update']) || isset($_POST['ProcessGoodsReceived'])) 
+if (isset($_POST['Update']) || isset($_POST['ProcessGoodsReceived']))
 {
 
        /* if update quantities button is hit page has been called and ${$line->line_no} would have be
        set from the post to the quantity to be received in this receival*/
-       foreach ($_SESSION['PO']->line_items as $line) 
+       foreach ($_SESSION['PO']->line_items as $line)
        {
 
                $_POST[$line->line_no] = max($_POST[$line->line_no], 0);
-               if (!is_numeric($_POST[$line->line_no]))
-                       $_POST[$line->line_no] = 0;
+               if (!check_num($line->line_no))
+                       $_POST[$line->line_no] = number_format2(0, get_qty_dec($line->stock_id));
 
                if (!isset($_POST['DefaultReceivedDate']) || $_POST['DefaultReceivedDate'] == "")
                        $_POST['DefaultReceivedDate'] = Today();
 
-               $_SESSION['PO']->line_items[$line->line_no]->receive_qty = $_POST[$line->line_no];
+               $_SESSION['PO']->line_items[$line->line_no]->receive_qty = input_num($line->line_no);
 
-               if (isset($_POST[$line->stock_id . "Desc"]) && strlen($_POST[$line->stock_id . "Desc"]) > 0) 
+               if (isset($_POST[$line->stock_id . "Desc"]) && strlen($_POST[$line->stock_id . "Desc"]) > 0)
                {
                        $_SESSION['PO']->line_items[$line->line_no]->item_description = $_POST[$line->stock_id . "Desc"];
                }
        }
+       $Ajax->activate('grn_items');
 }
 
 //--------------------------------------------------------------------------------------------------
@@ -284,14 +295,12 @@ if (isset($_POST['ProcessGoodsReceived']))
 start_form(false, true);
 
 display_grn_summary($_SESSION['PO'], true);
-display_heading2(_("Items to Receive"));
+display_heading(_("Items to Receive"));
 display_po_receive_items();
 
-echo "<br><center>";
-submit('Update', _("Update"));
-echo "&nbsp";
-submit('ProcessGoodsReceived', _("Process Receive Items"));
-echo "</center>";
+echo '<br>';
+submit_center_first('Update', _("Update"), '', true);
+submit_center_last('ProcessGoodsReceived', _("Process Receive Items"), _("Clear all GL entry fields"), true);
 
 end_form();