$page_security = 4;
$path_to_root="..";
-include($path_to_root . "/purchasing/includes/po_class.inc");
+include_once($path_to_root . "/purchasing/includes/po_class.inc");
-include($path_to_root . "/includes/session.inc");
-
-include($path_to_root . "/includes/data_checks.inc");
-include($path_to_root . "/includes/manufacturing.inc");
+include_once($path_to_root . "/includes/session.inc");
include_once($path_to_root . "/purchasing/includes/purchasing_ui.inc");
-$js = get_js_form_entry("StockID2", "stock_id", "qty");
+$js = '';
if ($use_popup_windows)
$js .= get_js_open_window(900, 500);
if ($use_date_picker)
display_footer_exit();
}
+//--------------------------------------------------------------------------------------------------
+function line_start_focus() {
+ global $Ajax;
+
+ $Ajax->activate('items_table');
+ set_focus('_stock_id_edit');
+}
//--------------------------------------------------------------------------------------------------
function copy_to_po()
//---------------------------------------------------------------------------------------------------
-function handle_delete_item()
+function handle_delete_item($line_no)
{
- $line_no = $_GET['Delete'];
if($_SESSION['PO']->some_already_received($line_no) == 0)
{
$_SESSION['PO']->remove_from_order($line_no);
{
display_error(_("This item cannot be deleted because some of it has already been received."));
}
+ line_start_focus();
}
//---------------------------------------------------------------------------------------------------
exit;
}
-//---------------------------------------------------------------------------------------------------
-if (isset($_GET['Delete']) || isset($_GET['Edit']))
-{
- copy_from_po();
-}
-
-if (isset($_GET['Delete']))
-{
- handle_delete_item();
-}
-
//---------------------------------------------------------------------------------------------------
function check_data()
{
- if (!is_numeric($_POST['qty']))
+ if (!check_num('qty',0))
{
- display_error(_("The quantity of the order item must be numeric."));
+ display_error(_("The quantity of the order item must be numeric and not less than zero."));
+ set_focus('qty');
return false;
}
- if ($_POST['qty'] <= 0)
- {
- display_error(_("The quantity of the ordered item entered must be a positive amount."));
- return false;
- }
- if (!is_numeric($_POST['price']))
+
+ if (!check_num('price', 0))
{
- display_error(_("The price entered must be numeric."));
+ display_error(_("The price entered must be numeric and not less than zero."));
+ set_focus('price');
return false;
}
if (!is_date($_POST['req_del_date'])){
- display_error(_("The date entered is in an invalid format."));
- return false;
+ display_error(_("The date entered is in an invalid format."));
+ set_focus('req_del_date');
+ return false;
}
return true;
$allow_update = check_data();
if ($allow_update &&
- ($_SESSION['PO']->line_items[$_POST['line_no']]->qty_inv > $_POST['qty'] ||
- $_SESSION['PO']->line_items[$_POST['line_no']]->qty_received > $_POST['qty']))
+ ($_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.") .
"<br>" . _("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'], $_POST['qty'], $_POST['price'],
+ $_SESSION['PO']->update_order_item($_POST['line_no'], input_num('qty'), input_num('price'),
$_POST['req_del_date']);
unset_form_variables();
+ line_start_focus();
}
//---------------------------------------------------------------------------------------------------
{
if (count($_SESSION['PO']->line_items) > 0)
{
- foreach ($_SESSION['PO']->line_items AS $order_item)
+ foreach ($_SESSION['PO']->line_items as $order_item)
{
/* do a loop round the items on the order to see that the item
is not already on this order */
if (($order_item->stock_id == $_POST['stock_id']) &&
- ($order_item->Deleted==False))
+ ($order_item->Deleted == false))
{
- $allow_update = False;
+ $allow_update = false;
display_error(_("The selected item is already on this order."));
}
} /* end of the foreach loop to look for pre-existing items of the same code */
if (db_num_rows($result) == 0)
{
- $allow_update = False;
+ $allow_update = false;
}
if ($allow_update)
{
$myrow = db_fetch($result);
- $_SESSION['PO']->add_to_order ($_POST['line_no'], $_POST['stock_id'], $_POST['qty'],
- $myrow["description"], $_POST['price'], $myrow["units"],
+ $_SESSION['PO']->add_to_order ($_POST['line_no'], $_POST['stock_id'], input_num('qty'),
+ $myrow["description"], input_num('price'), $myrow["units"],
$_POST['req_del_date'], 0, 0);
unset_form_variables();
- $_POST['StockID2'] = $_POST['stock_id'] = "";
+ $_POST['stock_id'] = "";
}
else
{
} /* end of if not already on the order and allow input was true*/
}
+ line_start_focus();
}
//---------------------------------------------------------------------------------------------------
if (!is_date($_POST['OrderDate']))
{
display_error(_("The entered order date is invalid."));
+ set_focus('OrderDate');
return false;
}
if (!references::is_valid($_SESSION['PO']->reference))
{
display_error(_("There is no reference entered for this purchase order."));
+ set_focus('ref');
return false;
}
if (!is_new_reference($_SESSION['PO']->reference, systypes::po()))
{
display_error(_("The entered reference is already in use."));
+ set_focus('ref');
return false;
}
}
if ($_SESSION['PO']->delivery_address == "")
{
display_error(_("There is no delivery address specified."));
+ set_focus('delivery_address');
return false;
}
if (!isset($_SESSION['PO']->Location) || $_SESSION['PO']->Location == "")
{
display_error(_("There is no location specified to move any items into."));
+ set_focus('StkLocation');
return false;
}
}
}
}
-
//---------------------------------------------------------------------------------------------------
+$id = find_submit('Delete');
+if ($id != -1)
+ handle_delete_item($id);
+if (isset($_POST['Delete']) || isset($_POST['Edit']))
+{
+ copy_from_po();
+}
+
if (isset($_POST['Commit']))
{
handle_commit_order();
}
-
-//---------------------------------------------------------------------------------------------------
-
if (isset($_POST['UpdateLine']))
{
copy_to_po();
handle_update_item();
}
-
-//---------------------------------------------------------------------------------------------------
-
-If (isset($_POST['EnterLine']))
+if (isset($_POST['EnterLine']))
{
copy_to_po();
handle_add_new_item();
}
-
-//---------------------------------------------------------------------------------------------------
-
if (isset($_POST['CancelOrder']))
{
handle_cancel_po();
}
-
-//---------------------------------------------------------------------------------------------------
-
if (isset($_POST['CancelUpdate']))
{
copy_to_po();
unset_form_variables();
}
-
-//---------------------------------------------------------------------------------------------------
-
if (isset($_GET['ModifyOrderNumber']) && $_GET['ModifyOrderNumber'] != "")
{
create_new_po();
read_po($_SESSION['PO']->order_no, $_SESSION['PO']);
copy_from_po();
}
+if (isset($_POST['CancelUpdate']) || isset($_POST['UpdateLine'])) {
+ line_start_focus();
+}
//--------------------------------------------------------------------------------
textarea_row(_("Memo:"), 'Comments', null, 70, 4);
end_table(1);
+
+div_start('controls', 'items_table');
if ($_SESSION['PO']->order_has_items())
{
if ($_SESSION['PO']->order_no)
}
else
submit_center('CancelOrder', _("Cancel Order"));
-
+div_end();
//---------------------------------------------------------------------------------------------------
end_form();