Cleanup in PO Search and PO Search Completed.
[fa-stable.git] / purchasing / inquiry / po_search.php
index a82a37435ff8c68eef47e7b7a179b3db9f06e8f3..c06fcc819e85e460e10570c8d932c0995c573ded 100644 (file)
@@ -18,11 +18,11 @@ include($path_to_root . "/purchasing/includes/purchasing_ui.inc");
 include_once($path_to_root . "/reporting/includes/reporting.inc");
 
 $js = "";
-if ($use_popup_windows)
+if ($SysPrefs->use_popup_windows)
        $js .= get_js_open_window(900, 500);
-if ($use_date_picker)
+if (user_use_date_picker())
        $js .= get_js_date_picker();
-page(_("Search Outstanding Purchase Orders"), false, false, "", $js);
+page(_($help_context = "Search Outstanding Purchase Orders"), false, false, "", $js);
 
 if (isset($_GET['order_number']))
 {
@@ -57,21 +57,27 @@ if (get_post('SearchOrders'))
 
 start_form();
 
-start_table("class='tablestyle_noborder'");
+start_table(TABLESTYLE_NOBORDER);
 start_row();
 ref_cells(_("#:"), 'order_number', '',null, '', true);
 
-date_cells(_("from:"), 'OrdersAfterDate', '', null, -30);
+date_cells(_("from:"), 'OrdersAfterDate', '', null, -user_transaction_days());
 date_cells(_("to:"), 'OrdersToDate');
 
 locations_list_cells(_("Location:"), 'StockLocation', null, true);
+end_row();
+end_table();
+
+start_table(TABLESTYLE_NOBORDER);
+start_row();
 
 stock_items_list_cells(_("Item:"), 'SelectStockFromList', null, true);
 
+supplier_list_cells(_("Select a supplier: "), 'supplier_id', null, true, true);
+
 submit_cells('SearchOrders', _("Search"),'',_('Select documents'), 'default');
 end_row();
-end_table();
-end_form();
+end_table(1);
 //---------------------------------------------------------------------------------------------
 function trans_view($trans)
 {
@@ -80,8 +86,7 @@ function trans_view($trans)
 
 function edit_link($row) 
 {
-  return pager_link( _("Edit"),
-       "/purchasing/po_entry_items.php?ModifyOrderNumber=" . $row["order_no"], ICON_EDIT);
+       return trans_editor_link(ST_PURCHORDER, $row["order_no"]);
 }
 
 function prt_link($row)
@@ -101,69 +106,11 @@ function check_overdue($row)
 }
 //---------------------------------------------------------------------------------------------
 
-if (isset($_POST['order_number']) && ($_POST['order_number'] != ""))
-{
-       $order_number = $_POST['order_number'];
-}
-
-if (isset($_POST['SelectStockFromList']) && ($_POST['SelectStockFromList'] != "") &&
-       ($_POST['SelectStockFromList'] != $all_items))
-{
-       $selected_stock_item = $_POST['SelectStockFromList'];
-}
-else
-{
-       unset($selected_stock_item);
-}
-
 //figure out the sql required from the inputs available
-$sql = "SELECT 
-       porder.order_no, 
-       porder.reference,
-       supplier.supp_name, 
-       location.location_name,
-       porder.requisition_no, 
-       porder.ord_date,
-       supplier.curr_code,
-       Sum(line.unit_price*line.quantity_ordered) AS OrderValue,
-       Sum(line.delivery_date < '". date2sql(Today()) ."'
-       AND (line.quantity_ordered > line.quantity_received)) As OverDue
-       FROM "
-               .TB_PREF."purch_orders as porder, "
-               .TB_PREF."purch_order_details as line, "
-               .TB_PREF."suppliers as supplier, "
-               .TB_PREF."locations as location
-       WHERE porder.order_no = line.order_no
-       AND porder.supplier_id = supplier.supplier_id
-       AND location.loc_code = porder.into_stock_location
-       AND (line.quantity_ordered > line.quantity_received) ";
-
-if (isset($order_number) && $order_number != "")
-{
-       $sql .= "AND porder.reference LIKE ".db_escape('%'. $order_number . '%');
-}
-else
-{
-       $data_after = date2sql($_POST['OrdersAfterDate']);
-       $data_before = date2sql($_POST['OrdersToDate']);
+$sql = get_sql_for_po_search(get_post('OrdersAfterDate'), get_post('OrdersToDate'), get_post('supplier_id'), get_post('StockLocation'),
+       $_POST['order_number'], get_post('SelectStockFromList'));
 
-       $sql .= "  AND porder.ord_date >= '$data_after'";
-       $sql .= "  AND porder.ord_date <= '$data_before'";
-
-       if (isset($_POST['StockLocation']) && $_POST['StockLocation'] != $all_items)
-       {
-               $sql .= " AND porder.into_stock_location = ".db_escape($_POST['StockLocation']);
-       }
-
-       if (isset($selected_stock_item))
-       {
-               $sql .= " AND line.item_code=".db_escape($selected_stock_item);
-       }
-} //end not order number selected
-
-$sql .= " GROUP BY porder.order_no";
-
-$result = db_query($sql,"No orders were returned");
+//$result = db_query($sql,"No orders were returned");
 
 /*show a table of the orders returned by the sql */
 $cols = array(
@@ -180,7 +127,7 @@ $cols = array(
                array('insert'=>true, 'fun'=>'receive_link')
 );
 
-if (get_post('StockLocation') != $all_items) {
+if ($_POST['StockLocation'] != ALL_TEXT) {
        $cols[_("Location")] = 'skip';
 }
 
@@ -188,10 +135,8 @@ $table =& new_db_pager('orders_tbl', $sql, $cols);
 $table->set_marker('check_overdue', _("Marked orders have overdue items."));
 
 $table->width = "80%";
-start_form();
 
 display_db_pager($table);
 
 end_form();
 end_page();
-?>