From: Janusz Dobrowolski Date: Fri, 27 Jun 2008 16:44:11 +0000 (+0000) Subject: Ajax additions X-Git-Tag: v2.4.2~19^2~1959 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=ff164518757006525f9475ce01d501b023bc40be;p=fa-stable.git Ajax additions --- diff --git a/dimensions/dimension_entry.php b/dimensions/dimension_entry.php index 8912c11c..fb45de5a 100644 --- a/dimensions/dimension_entry.php +++ b/dimensions/dimension_entry.php @@ -79,11 +79,8 @@ function safe_exit() hyperlink_no_params("", _("Enter a new dimension")); echo "
"; hyperlink_no_params($path_to_root . "/dimensions/inquiry/search_dimensions.php", _("Select an existing dimension")); - echo "

"; - end_page(); - - exit; + display_footer_exit(); } //------------------------------------------------------------------------------------- @@ -98,14 +95,14 @@ function can_process() if (!references::is_valid($_POST['ref'])) { display_error( _("The dimension reference must be entered.")); - set_focus('ref'); + set_focus('ref'); return false; } if (!is_new_reference($_POST['ref'], systypes::dimension())) { display_error(_("The entered reference is already in use.")); - set_focus('ref'); + set_focus('ref'); return false; } } @@ -206,14 +203,14 @@ if ($selected_id != -1) if (strlen($myrow[0]) == 0) { display_error(_("The dimension sent is not valid.")); - exit; + display_footer_exit(); } // if it's a closed dimension can't edit it if ($myrow["closed"] == 1) { display_error(_("This dimension is closed and cannot be edited.")); - exit; + display_footer_exit(); } $_POST['ref'] = $myrow["reference"]; @@ -249,14 +246,14 @@ textarea_row(_("Memo:"), 'memo_', null, 40, 5); end_table(1); -submit_add_or_update_center($selected_id == -1); +submit_add_or_update_center($selected_id == -1, '', true); if ($selected_id != -1) { echo "
"; - submit_center_first('close', _("Close This Dimension")); - submit_center_last('delete', _("Delete This Dimension")); + submit_center_first('close', _("Close This Dimension"), _('Mark this dimension as closed'), true); + submit_center_last('delete', _("Delete This Dimension"), _('Delete unused dimension'), true); } end_form(); diff --git a/dimensions/inquiry/search_dimensions.php b/dimensions/inquiry/search_dimensions.php index 3b147dc1..a263905c 100644 --- a/dimensions/inquiry/search_dimensions.php +++ b/dimensions/inquiry/search_dimensions.php @@ -23,6 +23,31 @@ else $outstanding_only = 0; page(_("Search Dimensions"), false, false, "", $js); } +//----------------------------------------------------------------------------------- +// Ajax updates +// +if (get_post('SearchOrders')) +{ + $Ajax->activate('dim_table'); +} elseif (get_post('_OrderNumber_changed')) +{ + $disable = get_post('OrderNumber') !== ''; + + $Ajax->addDisable(true, 'FromDate', $disable); + $Ajax->addDisable(true, 'ToDate', $disable); + $Ajax->addDisable(true, 'type_', $disable); + $Ajax->addDisable(true, 'OverdueOnly', $disable); + $Ajax->addDisable(true, 'OpenOnly', $disable); + + if ($disable) { +// $Ajax->addFocus(true, 'OrderNumber'); + set_focus('OrderNumber'); + } else +// $Ajax->addFocus(true, 'StockLocation'); + set_focus('type_'); + + $Ajax->activate('dim_table'); +} //-------------------------------------------------------------------------------------- @@ -36,7 +61,7 @@ start_form(false, true, $_SERVER['PHP_SELF'] ."?outstanding_only=" . $outstandin start_table("class='tablestyle_noborder'"); start_row(); -ref_cells(_("Reference:"), 'OrderNumber'); +ref_cells(_("Reference:"), 'OrderNumber', '',null, '', true); number_list_cells(_("Type"), 'type_', null, 0, 2); date_cells(_("From:"), 'FromDate', '', null, 0, 0, -5); @@ -51,7 +76,7 @@ if (!$outstanding_only) else $_POST['OpenOnly'] = 1; -submit_cells('SearchOrders', _("Search")); +submit_cells('SearchOrders', _("Search"), '', '', true); end_row(); end_table(); @@ -62,38 +87,39 @@ $dim = get_company_pref('use_dimension'); $sql = "SELECT * FROM ".TB_PREF."dimensions WHERE id > 0"; -if ($dim == 1) - $sql .= " AND type_=1"; - -if (isset($_POST['OpenOnly'])) -{ - $sql .= " AND closed=0"; -} - -if (isset($_POST['type_']) && ($_POST['type_'] > 0)) -{ - $sql .= " AND type_=" . $_POST['type_']; -} - if (isset($_POST['OrderNumber']) && $_POST['OrderNumber'] != "") { $sql .= " AND reference LIKE '%". $_POST['OrderNumber'] . "%'"; -} +} else { -if (isset($_POST['OverdueOnly'])) -{ - $today = date2sql(Today()); + if ($dim == 1) + $sql .= " AND type_=1"; - $sql .= " AND due_date < '$today' "; -} + if (isset($_POST['OpenOnly'])) + { + $sql .= " AND closed=0"; + } -$sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' - AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; + if (isset($_POST['type_']) && ($_POST['type_'] > 0)) + { + $sql .= " AND type_=" . $_POST['type_']; + } + if (isset($_POST['OverdueOnly'])) + { + $today = date2sql(Today()); + + $sql .= " AND due_date < '$today' "; + } + + $sql .= " AND date_ >= '" . date2sql($_POST['FromDate']) . "' + AND date_ <= '" . date2sql($_POST['ToDate']) . "'"; +} $sql .= " ORDER BY due_date"; $result = db_query($sql,"could not query dimensions"); +div_start('dim_table'); start_table("$table_style width=80%"); if (!$outstanding_only) @@ -145,8 +171,8 @@ while ($myrow = db_fetch($result)) if (!$outstanding_only) label_cell(($myrow["closed"] ? _("Yes") : _("No"))); amount_cell($row[0]); - if ($myrow["closed"] == 0) - label_cell("" . _("Edit") . ""); + + label_cell($myrow["closed"] == 0 ? ("" . _("Edit") . "") :''); end_row(); $j++; @@ -160,7 +186,7 @@ while ($myrow = db_fetch($result)) //end of while loop end_table(1); - +div_end(); //--------------------------------------------------------------------------------- end_page(); diff --git a/manufacturing/includes/work_order_issue_ui.inc b/manufacturing/includes/work_order_issue_ui.inc index ba8cd36a..9d6b9dd2 100644 --- a/manufacturing/includes/work_order_issue_ui.inc +++ b/manufacturing/includes/work_order_issue_ui.inc @@ -5,128 +5,126 @@ include_once($path_to_root . "/includes/ui/items_cart.inc"); //-------------------------------------------------------------------------------- -function add_to_order(&$order, $new_item, $new_item_qty, $standard_cost) +function add_to_issue(&$order, $new_item, $new_item_qty, $standard_cost) { - $already_on_order = 0; - - foreach ($order->line_items as $order_item) - { - if (strcasecmp($order_item->stock_id, $new_item) == 0) - { - $already_on_order = 1; - display_error(_("For Part :") . $new_item . " " . "This item is already on this order. You can change the quantity ordered of the existing line if necessary."); - } - } - - if ($already_on_order != 1) - { - $order->add_to_cart($new_item, $new_item_qty, $standard_cost); - } /* end of if not already on the order */ -} - -//-------------------------------------------------------------------------------- - -function display_order_header(&$order) -{ - display_wo_details($_SESSION['issue_items']->order_id); - echo "
"; + if ($order->find_cart_item($new_item)) + display_error(_("For Part :") . $new_item . " " . "This item is already on this issue. You can change the quantity issued of the existing line if necessary."); + else + $order->add_to_cart (count($order->line_items), $new_item, $new_item_qty, $standard_cost); } - //--------------------------------------------------------------------------------- -function display_adjustment_items($Title, &$order) +function display_issue_items($title, &$order) { global $table_style, $path_to_root; - display_heading($Title); - start_table("$table_style colspan=7"); + display_heading($title); + div_start('items_table'); + start_table("$table_style width=80% colspan=7"); $th = array(_("Item Code"), _("Item Description"), _("Quantity"), - _("Unit"), _("Unit Cost")); - table_header($th); + _("Unit"), _("Unit Cost"), ''); + if ( count($order->line_items)) $th[] = ''; + table_header($th); +// $total = 0; $k = 0; //row colour counter - foreach ($order->line_items as $stock_item) + $id = find_submit('Edit'); + foreach ($order->line_items as $line_no=>$stock_item) { - if ($_GET['Edit'] != $stock_item->stock_id) +// $total += ($stock_item->standard_cost * $stock_item->quantity); + + if ($id != $line_no) { alt_table_row_color($k); - label_cell("$stock_item->stock_id"); - label_cell($stock_item->item_description); + view_stock_status_cell($stock_item->stock_id); + label_cell($stock_item->item_description); qty_cell($stock_item->quantity, false, get_qty_dec($stock_item->stock_id)); - if (strlen($stock_item->units)) - label_cell($stock_item->units); - else - label_cell(""); + label_cell($stock_item->units); amount_cell($stock_item->standard_cost); +// amount_cell($stock_item->standard_cost * $stock_item->quantity); - edit_link_cell(SID . "Edit=$stock_item->stock_id"); - delete_link_cell(SID . "Delete=$stock_item->stock_id"); - end_row(); + edit_button_cell("Edit$line_no", _("Edit"), + _('Edit document line')); + edit_button_cell("Delete$line_no", _("Delete"), + _('Remove line from document')); + end_row(); } else { - adjustment_edit_item_controls($order, $stock_item->stock_id); + issue_edit_item_controls($order, $line_no); } } - if (!isset($_GET['Edit'])) - adjustment_edit_item_controls($order); + if ($id == -1) + issue_edit_item_controls($order); + +// label_row(_("Total"), number_format2($total,user_price_dec()), "colspan=5", "align=right"); end_table(); + div_end(); } //--------------------------------------------------------------------------------- -function adjustment_edit_item_controls(&$order, $stock_id=null) +function issue_edit_item_controls(&$order, $line_no=-1) { + global $Ajax; start_row(); - if (isset($_GET['Edit']) && $stock_id != null) + $id = find_submit('Edit'); + if ($line_no != -1 && $line_no == $id) { - if (!isset($_POST['stock_id'])) - $_POST['stock_id'] = $order->line_items[$stock_id]->stock_id; - if (!isset($_POST['qty']) || ($_POST['qty'] == "")) - $_POST['qty'] = $order->line_items[$stock_id]->quantity; - if (!isset($_POST['std_cost']) || ($_POST['std_cost'] == "")) - $_POST['std_cost'] = $order->line_items[$stock_id]->standard_cost; - - $_POST['units'] = $order->line_items[$stock_id]->units; + $_POST['stock_id'] = $order->line_items[$id]->stock_id; + $_POST['qty'] = qty_format($order->line_items[$id]->quantity, + $order->line_items[$id]->stock_id, $dec); + $_POST['std_cost'] = price_format($order->line_items[$id]->standard_cost); + $_POST['units'] = $order->line_items[$id]->units; hidden('stock_id', $_POST['stock_id']); label_cell($_POST['stock_id']); - label_cell($order->line_items[$stock_id]->item_description); + label_cell($order->line_items[$id]->item_description); + $Ajax->activate('items_table'); } else { - $wo_details = get_work_order($_SESSION['issue_items']->order_id); - - echo ""; - stock_component_items_list('stock_id', $wo_details["stock_id"], $_POST['stock_id'], false, true); - echo ""; + $wo_details = get_work_order($_SESSION['issue_items']->order_id); + + stock_component_items_list_cells(null, 'stock_id', + $wo_details["stock_id"], null, false, true); + if(isset($_POST['_stock_id_update'])) { + $Ajax->activate('units'); + $Ajax->activate('qty'); + $Ajax->activate('std_cost'); + } $item_info = get_item_edit_info($_POST['stock_id']); - $_POST['qty'] = 0; - $_POST['std_cost'] = $item_info["standard_cost"]; + $_POST['qty'] = qty_format(0, $_POST['stock_id'], $dec); + $_POST['std_cost'] = price_format($item_info["standard_cost"]); $_POST['units'] = $item_info["units"]; } + qty_cells(null, 'qty', $_POST['qty'], null, null, $dec); + label_cell($_POST['units'], '', 'units'); - text_cells(null, 'qty', $_POST['qty'], 13, 15); - label_cell($_POST['units']); - text_cells(null, 'std_cost', $_POST['std_cost'], 15, 14); + amount_cells(null, 'std_cost', $_POST['std_cost']); - if (isset($_GET['Edit'])) + if ($id != -1) { - submit_cells('UpdateItem', _("Update")); - submit_cells('CancelItemChanges', _("Cancel")); + edit_button_cell('UpdateItem', _("Update"), + _('Confirm changes')); + edit_button_cell('CancelItemChanges', _("Cancel"), + _('Cancel changes')); + hidden('LineNo', $line_no); + set_focus('qty'); } else { - submit_cells('AddItem', _("Add Item"), "colspan=2"); + submit_cells('AddItem', _("Add Item"), "colspan=2", + _('Add new item to document'), true); } end_row(); @@ -135,30 +133,27 @@ function adjustment_edit_item_controls(&$order, $stock_id=null) //--------------------------------------------------------------------------------- -function adjustment_options_controls() +function issue_options_controls() { echo "
"; start_table(); - ref_row(_("Reference:"), 'ref', '', references::get_next(28)); - - if (!isset($_POST['IssueType'])) - $_POST['IssueType'] = 0; - - yesno_list_row(_("Type:"), 'IssueType', $_POST['IssueType'], - _("Return Items to Location"), _("Issue Items to Work order")); - - locations_list_row(_("From Location:"), 'Location', $_POST['Location']); - workcenter_list_row(_("To Work Centre:"), 'WorkCentre', $_POST['WorkCentre']); - - date_row(_("Issue Date:"), 'date_'); - - textarea_row(_("Memo:"), 'memo_', $_POST['memo_'], 50, 3); - - end_table(); + + if (!isset($_POST['IssueType'])) + $_POST['IssueType'] = 0; + + yesno_list_row(_("Type:"), 'IssueType', $_POST['IssueType'], + _("Return Items to Location"), _("Issue Items to Work order")); + + locations_list_row(_("From Location:"), 'Location'); + workcenter_list_row(_("To Work Centre:"), 'WorkCentre'); + + date_row(_("Issue Date:"), 'date_'); + + textarea_row(_("Memo"), 'memo_', null, 50, 3); + + end_table(1); } - - //--------------------------------------------------------------------------------- ?> \ No newline at end of file diff --git a/manufacturing/work_order_add_finished.php b/manufacturing/work_order_add_finished.php index 0bd89bd7..56a80d1d 100644 --- a/manufacturing/work_order_add_finished.php +++ b/manufacturing/work_order_add_finished.php @@ -154,7 +154,7 @@ if (!isset($_POST['ProductionType'])) yesno_list_row(_("Type:"), 'ProductionType', $_POST['ProductionType'], _("Produce Finished Items"), _("Return Items to Work Order")); -text_row(_("Quantity:"), 'quantity', $_POST['quantity'], 13, 15); +small_qty_row(_("Quantity:"), 'quantity', null, null, null, get_qty_dec($wo_details["stock_id"])); date_row(_("Date:"), 'date_'); @@ -162,8 +162,8 @@ textarea_row(_("Memo:"), 'memo_', null, 40, 3); end_table(1); -submit_center_first('Process', _("Process")); -submit_center_last('ProcessAndClose', _("Process And Close Order")); +submit_center_first('Process', _("Process"), '', true); +submit_center_last('ProcessAndClose', _("Process And Close Order"), '', true); end_form(); diff --git a/manufacturing/work_order_issue.php b/manufacturing/work_order_issue.php index 943dbc66..d2f8e2f0 100644 --- a/manufacturing/work_order_issue.php +++ b/manufacturing/work_order_issue.php @@ -13,6 +13,8 @@ include_once($path_to_root . "/manufacturing/includes/manufacturing_db.inc"); include_once($path_to_root . "/manufacturing/includes/manufacturing_ui.inc"); include_once($path_to_root . "/manufacturing/includes/work_order_issue_ui.inc"); $js = ""; +if ($use_popup_windows) + $js .= get_js_open_window(800, 500); if ($use_date_picker) $js .= get_js_date_picker(); page(_("Issue Items to Work Order"), false, false, "", $js); @@ -25,8 +27,15 @@ if (isset($_GET['AddedID'])) echo "
"; hyperlink_no_params("search_work_orders.php", _("Select another Work Order to Process")); echo "

"; - end_page(); - exit; + display_footer_exit(); +} +//-------------------------------------------------------------------------------------------------- + +function line_start_focus() { + global $Ajax; + + $Ajax->activate('items_table'); + set_focus('_stock_id_edit'); } //-------------------------------------------------------------------------------------------------- @@ -86,7 +95,7 @@ function can_process() return true; } -if (isset($_POST['Process'])) +if (isset($_POST['Process']) && can_process()) { // if failed, returns a stockID @@ -111,21 +120,14 @@ if (isset($_POST['Process'])) function check_item_data() { - if (!is_numeric($_POST['qty'])) - { - display_error(_("The quantity entered is not a valid number.")); - set_focus('qty'); - return false; - } - - if ($_POST['qty'] <= 0) + if (!check_num('qty', 0)) { - display_error(_("The quantity entered must be greater than zero.")); + display_error(_("The quantity entered is negative or invalid.")); set_focus('qty'); return false; } - if (!is_numeric($_POST['std_cost']) || $_POST['std_cost'] < 0) + if (!check_num('std_cost', 0)) { display_error(_("The entered standard cost is negative or invalid.")); set_focus('std_cost'); @@ -141,15 +143,18 @@ function handle_update_item() { if($_POST['UpdateItem'] != "" && check_item_data()) { - $_SESSION['issue_items']->update_cart_item($_POST['stock_id'], $_POST['qty'], $_POST['std_cost']); + $id = $_POST['LineNo']; + $_SESSION['issue_items']->update_cart_item($id, input_num('qty'), input_num('std_cost')); } + line_start_focus(); } //----------------------------------------------------------------------------------------------- -function handle_delete_item() +function handle_delete_item($id) { - $_SESSION['issue_items']->remove_from_cart($_GET['Delete']); + $_SESSION['issue_items']->remove_from_cart($id); + line_start_focus(); } //----------------------------------------------------------------------------------------------- @@ -159,20 +164,26 @@ function handle_new_item() if (!check_item_data()) return; - add_to_order($_SESSION['issue_items'], $_POST['stock_id'], $_POST['qty'], $_POST['std_cost']); + add_to_issue($_SESSION['issue_items'], $_POST['stock_id'], input_num('qty'), + input_num('std_cost')); + line_start_focus(); } //----------------------------------------------------------------------------------------------- +$id = find_submit('Delete'); +if ($id != -1) + handle_delete_item($id); -if ($_GET['Delete']!="") - handle_delete_item(); - -if ($_POST['AddItem']!="") +if (isset($_POST['AddItem'])) handle_new_item(); -if ($_POST['UpdateItem']!="") +if (isset($_POST['UpdateItem'])) handle_update_item(); +if (isset($_POST['CancelItemChanges'])) { + line_start_focus(); +} + //----------------------------------------------------------------------------------------------- if (isset($_GET['trans_no'])) @@ -182,30 +193,20 @@ if (isset($_GET['trans_no'])) //----------------------------------------------------------------------------------------------- -display_order_header($_SESSION['issue_items']); +display_wo_details($_SESSION['issue_items']->order_id); +echo "
"; start_form(false, true); -start_table("$table_style width=90%", '10'); +start_table("$table_style width=90%", 10); echo ""; -display_adjustment_items(_("Items to Issue"), $_SESSION['issue_items']); -adjustment_options_controls(); +display_issue_items(_("Items to Issue"), $_SESSION['issue_items']); +issue_options_controls(); echo ""; end_table(); -if (!isset($_POST['Process'])) -{ - start_table(); - start_row(); - submit_cells('Update', _("Update")); - if ($_SESSION['issue_items']->count_items() >= 1) - { - submit_cells('Process', _("Process Issue")); - } - end_row(); - end_table(); -} +submit_center('Process', _("Process Issue"), true, '', true); end_form(); diff --git a/manufacturing/work_order_release.php b/manufacturing/work_order_release.php index 18bae33d..02593137 100644 --- a/manufacturing/work_order_release.php +++ b/manufacturing/work_order_release.php @@ -88,7 +88,7 @@ if (can_process($myrow)) end_table(1); - submit_center('release', _("Release Work Order")); + submit_center('release', _("Release Work Order"), true, '', true); hidden('selected_id', $selected_id); hidden('stock_id', $myrow['stock_id']);