X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Fincludes%2Fstock_transfers_ui.inc;h=76adcb37e73dd63f7f46e605ca11064a2803203f;hb=3218c355d9455506febbd3a8a7d9bd61fc9a0a34;hp=2cbfc7cc1999d29c203c647ec0e471781e923936;hpb=d67d5295b9342c011697ce4df325197e29898588;p=fa-stable.git diff --git a/inventory/includes/stock_transfers_ui.inc b/inventory/includes/stock_transfers_ui.inc index 2cbfc7cc..76adcb37 100644 --- a/inventory/includes/stock_transfers_ui.inc +++ b/inventory/includes/stock_transfers_ui.inc @@ -1,5 +1,14 @@ . +***********************************************************************/ include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/includes/ui/items_cart.inc"); @@ -7,145 +16,144 @@ include_once($path_to_root . "/includes/ui/items_cart.inc"); function add_to_order(&$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."); - } + $kit = get_item_kit($new_item); + foreach($kit as $item) { + if ($order->find_cart_item($item['stock_id'])) + display_error(_("For Part :") . $item['stock_id'] . " " . "This item is already on this document. You can change the quantity on the existing line if necessary."); + else + $order->add_to_cart (count($order->line_items), $item['stock_id'], $new_item_qty * $item['quantity'], $standard_cost); } - - 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) { - global $table_style; - - start_table("width=70% $table_style"); - echo ""; // outer table - echo ""; - - locations_list_row(_("From Location:"), 'FromStockLocation', null); - locations_list_row(_("To Location:"), 'ToStockLocation', null); - - echo "
"; - - echo ""; // outer table + global $Refs; - echo ""; + start_outer_table(TABLESTYLE, "width='70%'"); - ref_row(_("Reference:"), 'ref', '', references::get_next(systypes::location_transfer())); + table_section(1); + + locations_list_row(_("From Location:"), 'FromStockLocation', null, false, false, $order->fixed_asset); + locations_list_row(_("To Location:"), 'ToStockLocation', null,false, false, $order->fixed_asset); - date_row(_("Date:"), 'AdjDate'); + table_section(2, "50%"); - echo "
"; + date_row(_("Date:"), 'AdjDate', '', true); - echo ""; // outer table + ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_LOCTRANSFER, null, array('date'=>get_post('AdjDate'), 'location'=> get_post('FromStockLocation'))), false, ST_LOCTRANSFER); - echo ""; - movement_types_list_row(_("Transfer Type:"), 'type', null); - echo "
"; - - echo ""; - end_table(1); // outer table + end_outer_table(1); // outer table } //--------------------------------------------------------------------------------- function display_transfer_items($title, &$order) { - global $table_style, $path_to_root; + global $path_to_root; display_heading($title); - start_table("$table_style width=80%"); - $th = array(_("Item Code"), _("Item Description"), _("Quantity"), _("Unit"),''); + div_start('items_table'); + start_table(TABLESTYLE, "width='80%'"); + $th = array(_("Item Code"), _("Item Description"), _("Quantity"), _("Unit"), ''); + if (!$order->fixed_asset && count($order->line_items)) $th[] = ''; table_header($th); - $subtotal = 0; $k = 0; //row colour counter - foreach ($order->line_items as $stock_item) + $low_stock = $order->check_qoh($_POST['FromStockLocation'], $_POST['AdjDate'], true); + $id = find_submit('Edit'); + foreach ($order->line_items as $line_no=>$stock_item) { - $quantity = number_format2($stock_item->quantity,user_qty_dec()); - - if (!isset($_GET['Edit']) || $_GET['Edit'] != $stock_item->stock_id) + if ($id != $line_no) { - alt_table_row_color($k); - - label_cell("$stock_item->stock_id"); + if (in_array($stock_item->stock_id, $low_stock)) + start_row("class='stockmankobg'"); // notice low stock status + else + alt_table_row_color($k); + + if ($order->fixed_asset) + label_cell($stock_item->stock_id); + else + view_stock_status_cell($stock_item->stock_id); label_cell($stock_item->item_description); - label_cell($quantity, "nowrap align=right"); + qty_cell($stock_item->quantity, false, get_qty_dec($stock_item->stock_id)); label_cell($stock_item->units); - edit_link_cell(SID . "Edit=$stock_item->stock_id"); - delete_link_cell(SID . "Delete=$stock_item->stock_id"); + if (!$order->fixed_asset) + edit_button_cell("Edit$line_no", _("Edit"), _('Edit document line')); + delete_button_cell("Delete$line_no", _("Delete"), _('Remove line from document')); end_row(); - } - else - { - transfer_edit_item_controls($order, $stock_item->stock_id); } + else + transfer_edit_item_controls($order, $line_no); } - if (!isset($_GET['Edit'])) + if ($id == -1) transfer_edit_item_controls($order); end_table(); + if ($low_stock) + display_note(_("Marked items have insufficient quantities in stock as on day of transfer."), 0, 1, "class='stockmankofg'"); + div_end(); } //--------------------------------------------------------------------------------- -function transfer_edit_item_controls(&$order, $stock_id=null) +function transfer_edit_item_controls(&$order, $line_no=-1) { + global $Ajax; start_row(); - if (isset($_GET['Edit']) and $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'] = qty_format($order->line_items[$stock_id]->quantity); - - $_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['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 { - echo ""; - stock_costable_items_list('stock_id', null, false, true); - echo ""; + if ($order->fixed_asset) + stock_disposable_fa_list_cells(null, 'stock_id', null, false, true, $order->line_items); + else + sales_items_list_cells(null,'stock_id', null, false, true, true); + + if (list_updated('stock_id')) { + $Ajax->activate('units'); + $Ajax->activate('qty'); + } $item_info = get_item_edit_info($_POST['stock_id']); - $_POST['qty'] = qty_format(0); + $dec = $item_info['decimals']; + $_POST['qty'] = number_format2(0, $dec); $_POST['units'] = $item_info["units"]; } + if ($order->fixed_asset) { + hidden('qty', 1); + qty_cell(1, false, 0); + } else + small_qty_cells(null, 'qty', $_POST['qty'], null, null, $dec); - small_qty_cells(null, 'qty', $_POST['qty']); - label_cell($_POST['units']); + label_cell($_POST['units'], '', 'units'); - if (isset($_GET['Edit'])) + if ($id != -1) { - submit_cells('UpdateItem', _("Update")); - submit_cells('CancelItemChanges', _("Cancel")); - } - else - { - submit_cells('AddItem', _("Add Item"), "colspan=2"); + button_cell('UpdateItem', _("Update"), _('Confirm changes'), ICON_UPDATE); + button_cell('CancelItemChanges', _("Cancel"), _('Cancel changes'), ICON_CANCEL); + hidden('LineNo', $line_no); + set_focus('qty'); } + else + submit_cells('AddItem', _("Add Item"), "colspan=2", _('Add new item to document'), true); end_row(); } @@ -155,15 +163,14 @@ function transfer_edit_item_controls(&$order, $stock_id=null) function transfer_options_controls() { - echo "
"; - start_table(); + echo "
"; + start_table(); - textarea_row(_("Memo"), 'memo_', null, 50, 3); + textarea_row(_("Memo"), 'memo_', null, 50, 3); - end_table(1); + end_table(1); } //--------------------------------------------------------------------------------- -?> \ No newline at end of file