X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=purchasing%2Fpo_entry_items.php;h=2f903ba12be839caa38e95236ec79283cf17f080;hb=510d6e1925c4d1621ae3efd85e117cc9bb4320f0;hp=57693a3026b4571e067482d9cb4674eb73c4eb2e;hpb=dd1a21a371699b6f894d21c6950b668cda0f7b29;p=fa-stable.git
diff --git a/purchasing/po_entry_items.php b/purchasing/po_entry_items.php
index 57693a30..2f903ba1 100644
--- a/purchasing/po_entry_items.php
+++ b/purchasing/po_entry_items.php
@@ -1,13 +1,20 @@
.
+***********************************************************************/
+$page_security = 'SA_PURCHASEORDER';
+$path_to_root = "..";
include_once($path_to_root . "/purchasing/includes/po_class.inc");
-
include_once($path_to_root . "/includes/session.inc");
-
include_once($path_to_root . "/purchasing/includes/purchasing_ui.inc");
+include_once($path_to_root . "/reporting/includes/reporting.inc");
$js = '';
if ($use_popup_windows)
@@ -35,26 +42,40 @@ check_db_has_purchasable_items(_("There are no purchasable inventory items defin
if (isset($_GET['AddedID']))
{
$order_no = $_GET['AddedID'];
- $trans_type = systypes::po();
+ $trans_type = ST_PURCHORDER;
if (!isset($_GET['Updated']))
display_notification_centered(_("Purchase Order has been entered"));
else
display_notification_centered(_("Purchase Order has been updated") . " #$order_no");
- display_note(get_trans_view_str($trans_type, $order_no, _("View this order")));
+ display_note(get_trans_view_str($trans_type, $order_no, _("&View this order")), 0, 1);
+
+ display_note(print_document_link($order_no, _("&Print This Order"), true, $trans_type), 0, 1);
- hyperlink_params($path_to_root . "/purchasing/po_receive_items.php", _("Receive Items on this Purchase Order"), "PONumber=$order_no");
+ display_note(print_document_link($order_no, _("&Email This Order"), true, $trans_type, false, "", "", 1));
- hyperlink_params($_SERVER['PHP_SELF'], _("Enter Another Purchase Order"), "NewOrder=yes");
+ hyperlink_params($path_to_root . "/purchasing/po_receive_items.php", _("&Receive Items on this Purchase Order"), "PONumber=$order_no");
+
+ hyperlink_params($_SERVER['PHP_SELF'], _("Enter &Another Purchase Order"), "NewOrder=yes");
- hyperlink_no_params($path_to_root."/purchasing/inquiry/po_search.php", _("Select An Outstanding Purchase Order"));
+ hyperlink_no_params($path_to_root."/purchasing/inquiry/po_search.php", _("Select An &Outstanding Purchase Order"));
display_footer_exit();
}
-
//--------------------------------------------------------------------------------------------------
-function copy_to_po()
+function copy_from_cart()
+{
+ $_POST['supplier_id'] = $_SESSION['PO']->supplier_id;
+ $_POST['OrderDate'] = $_SESSION['PO']->orig_order_date;
+ $_POST['Requisition'] = $_SESSION['PO']->requisition_no;
+ $_POST['ref'] = $_SESSION['PO']->reference;
+ $_POST['Comments'] = $_SESSION['PO']->Comments;
+ $_POST['StkLocation'] = $_SESSION['PO']->Location;
+ $_POST['delivery_address'] = $_SESSION['PO']->delivery_address;
+}
+
+function copy_to_cart()
{
$_SESSION['PO']->supplier_id = $_POST['supplier_id'];
$_SESSION['PO']->orig_order_date = $_POST['OrderDate'];
@@ -64,20 +85,14 @@ function copy_to_po()
$_SESSION['PO']->Location = $_POST['StkLocation'];
$_SESSION['PO']->delivery_address = $_POST['delivery_address'];
}
-
//--------------------------------------------------------------------------------------------------
-function copy_from_po()
-{
- $_POST['supplier_id'] = $_SESSION['PO']->supplier_id;
- $_POST['OrderDate'] = $_SESSION['PO']->orig_order_date;
- $_POST['Requisition'] = $_SESSION['PO']->requisition_no;
- $_POST['ref'] = $_SESSION['PO']->reference;
- $_POST['Comments'] = $_SESSION['PO']->Comments;
- $_POST['StkLocation'] = $_SESSION['PO']->Location;
- $_POST['delivery_address'] = $_SESSION['PO']->delivery_address;
-}
+function line_start_focus() {
+ global $Ajax;
+ $Ajax->activate('items_table');
+ set_focus('_stock_id_edit');
+}
//--------------------------------------------------------------------------------------------------
function unset_form_variables() {
@@ -89,9 +104,8 @@ function unset_form_variables() {
//---------------------------------------------------------------------------------------------------
-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);
@@ -101,6 +115,7 @@ function handle_delete_item()
{
display_error(_("This item cannot be deleted because some of it has already been received."));
}
+ line_start_focus();
}
//---------------------------------------------------------------------------------------------------
@@ -121,12 +136,15 @@ function handle_cancel_po()
if($_SESSION['PO']->order_no != 0)
{
delete_po($_SESSION['PO']->order_no);
- }
+ } else {
+ unset($_SESSION['PO']);
+ meta_forward($path_to_root.'/index.php','application=AP');
+ }
$_SESSION['PO']->clear_items();
$_SESSION['PO'] = new purch_order;
- display_note(_("This purchase order has been cancelled."), 0, 1);
+ display_notification(_("This purchase order has been cancelled."));
hyperlink_params($path_to_root . "/purchasing/po_entry_items.php", _("Enter a new purchase order"), "NewOrder=Yes");
echo "
";
@@ -135,17 +153,6 @@ function handle_cancel_po()
exit;
}
-//---------------------------------------------------------------------------------------------------
-if (isset($_GET['Delete']) || isset($_GET['Edit']))
-{
- copy_from_po();
-}
-
-if (isset($_GET['Delete']))
-{
- handle_delete_item();
-}
-
//---------------------------------------------------------------------------------------------------
function check_data()
@@ -153,17 +160,20 @@ function check_data()
if (!check_num('qty',0))
{
display_error(_("The quantity of the order item must be numeric and not less than zero."));
+ set_focus('qty');
return false;
}
if (!check_num('price', 0))
{
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;
@@ -181,12 +191,14 @@ function handle_update_item()
{
display_error(_("You are attempting to make the quantity ordered a quantity less than has already been invoiced or received. This is prohibited.") .
"
" . _("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'], input_num('qty'), input_num('price'),
$_POST['req_del_date']);
unset_form_variables();
+ line_start_focus();
}
//---------------------------------------------------------------------------------------------------
@@ -199,15 +211,15 @@ function handle_add_new_item()
{
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 */
@@ -216,13 +228,13 @@ function handle_add_new_item()
if ($allow_update == true)
{
$sql = "SELECT description, units, mb_flag
- FROM ".TB_PREF."stock_master WHERE stock_id = '". $_POST['stock_id'] . "'";
+ FROM ".TB_PREF."stock_master WHERE stock_id = ".db_escape($_POST['stock_id']);
$result = db_query($sql,"The stock details for " . $_POST['stock_id'] . " could not be retrieved");
if (db_num_rows($result) == 0)
{
- $allow_update = False;
+ $allow_update = false;
}
if ($allow_update)
@@ -233,7 +245,7 @@ function handle_add_new_item()
$_POST['req_del_date'], 0, 0);
unset_form_variables();
- $_POST['StockID2'] = $_POST['stock_id'] = "";
+ $_POST['stock_id'] = "";
}
else
{
@@ -242,42 +254,50 @@ function handle_add_new_item()
} /* end of if not already on the order and allow input was true*/
}
+ line_start_focus();
}
//---------------------------------------------------------------------------------------------------
function can_commit()
{
+ global $Refs;
+
if (!is_date($_POST['OrderDate']))
{
display_error(_("The entered order date is invalid."));
+ set_focus('OrderDate');
return false;
}
if (!$_SESSION['PO']->order_no)
{
- if (!references::is_valid($_SESSION['PO']->reference))
+ if (!$Refs->is_valid(get_post('ref')))
{
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()))
+ if (!is_new_reference(get_post('ref'), ST_PURCHORDER))
{
display_error(_("The entered reference is already in use."));
+ set_focus('ref');
return false;
}
}
- if ($_SESSION['PO']->delivery_address == "")
+ if (get_post('delivery_address') == '')
{
display_error(_("There is no delivery address specified."));
+ set_focus('delivery_address');
return false;
}
- if (!isset($_SESSION['PO']->Location) || $_SESSION['PO']->Location == "")
+ if (get_post('StkLocation') == '')
{
display_error(_("There is no location specified to move any items into."));
+ set_focus('StkLocation');
return false;
}
@@ -294,17 +314,17 @@ function can_commit()
function handle_commit_order()
{
- copy_to_po();
if (can_commit())
{
+ copy_to_cart();
if ($_SESSION['PO']->order_no == 0)
{
/*its a new order to be inserted */
$order_no = add_po($_SESSION['PO']);
-
+ new_doc_date($_SESSION['PO']->orig_order_date);
unset($_SESSION['PO']);
meta_forward($_SERVER['PHP_SELF'], "AddedID=$order_no");
@@ -322,46 +342,26 @@ function handle_commit_order()
}
}
}
-
//---------------------------------------------------------------------------------------------------
+$id = find_submit('Delete');
+if ($id != -1)
+ handle_delete_item($id);
if (isset($_POST['Commit']))
{
handle_commit_order();
}
-
-//---------------------------------------------------------------------------------------------------
-
if (isset($_POST['UpdateLine']))
-{
- copy_to_po();
handle_update_item();
-}
-
-//---------------------------------------------------------------------------------------------------
-If (isset($_POST['EnterLine']))
-{
- copy_to_po();
+if (isset($_POST['EnterLine']))
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'] != "")
{
@@ -371,30 +371,20 @@ if (isset($_GET['ModifyOrderNumber']) && $_GET['ModifyOrderNumber'] != "")
/*read in all the selected order into the Items cart */
read_po($_SESSION['PO']->order_no, $_SESSION['PO']);
- copy_from_po();
+
+ copy_from_cart();
}
-//--------------------------------------------------------------------------------
+if (isset($_POST['CancelUpdate']) || isset($_POST['UpdateLine'])) {
+ line_start_focus();
+}
if (isset($_GET['NewOrder']))
-{
create_new_po();
-}
-else
-{
- if (!isset($_POST['supplier_id']))
- $_POST['supplier_id'] = $_SESSION['PO']->supplier_id;
- if (!isset($_POST['OrderDate']))
- $_POST['OrderDate'] = $_SESSION['PO']->orig_order_date;
- if (!isset($_POST['Requisition']))
- $_POST['Requisition'] = $_SESSION['PO']->requisition_no;
- if (!isset($_POST['Comments']))
- $_POST['Comments'] = $_SESSION['PO']->Comments;
-}
//---------------------------------------------------------------------------------------------------
-start_form(false, true);
+start_form();
display_po_header($_SESSION['PO']);
echo "
";
@@ -405,17 +395,19 @@ start_table($table_style2);
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)
- submit_center_first('Commit', _("Update Order"));
+ submit_center_first('Commit', _("Update Order"), '', 'default');
else
- submit_center_first('Commit', _("Place Order"));
+ submit_center_first('Commit', _("Place Order"), '', 'default');
submit_center_last('CancelOrder', _("Cancel Order"));
}
else
- submit_center('CancelOrder', _("Cancel Order"));
-
+ submit_center('CancelOrder', _("Cancel Order"), true, false, 'cancel');
+div_end();
//---------------------------------------------------------------------------------------------------
end_form();