PHP 8. Conversion from float to int loses precision in file: line 1391. Fixed.
[fa-stable.git] / inventory / includes / stock_transfers_ui.inc
index daa59661e76f6c23b0e4b0d93a8da512787bd742..76adcb37e73dd63f7f46e605ca11064a2803203f 100644 (file)
@@ -16,10 +16,13 @@ include_once($path_to_root . "/includes/ui/items_cart.inc");
 
 function add_to_order(&$order, $new_item, $new_item_qty, $standard_cost)
 {
-    if ($order->find_cart_item($new_item))
-         display_error(_("For Part :") . $new_item . " " . "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), $new_item, $new_item_qty, $standard_cost);
+       $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);
+       }
 }
 
 //--------------------------------------------------------------------------------
@@ -32,18 +35,14 @@ function display_order_header(&$order)
 
        table_section(1);
        
-       locations_list_row(_("From Location:"), 'FromStockLocation', null);
-       locations_list_row(_("To Location:"), 'ToStockLocation', null);
+       locations_list_row(_("From Location:"), 'FromStockLocation', null, false, false, $order->fixed_asset);
+       locations_list_row(_("To Location:"), 'ToStockLocation', null,false, false, $order->fixed_asset);
 
-       table_section(2, "33%");
-
-       ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_LOCTRANSFER));
+       table_section(2, "50%");
 
     date_row(_("Date:"), 'AdjDate', '', true);
 
-       table_section(3, "33%");
-
-    movement_types_list_row(_("Transfer Type:"), 'type', null);
+       ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_LOCTRANSFER, null, array('date'=>get_post('AdjDate'), 'location'=> get_post('FromStockLocation'))), false, ST_LOCTRANSFER);
 
        end_outer_table(1); // outer table
 }
@@ -58,9 +57,8 @@ function display_transfer_items($title, &$order)
     div_start('items_table');
        start_table(TABLESTYLE, "width='80%'");
        $th = array(_("Item Code"), _("Item Description"), _("Quantity"), _("Unit"), '');
-       if ( count($order->line_items)) $th[] = '';
+       if (!$order->fixed_asset && count($order->line_items)) $th[] = '';
        table_header($th);
-       $subtotal = 0;
        $k = 0;  //row colour counter
 
        $low_stock = $order->check_qoh($_POST['FromStockLocation'], $_POST['AdjDate'], true);
@@ -75,21 +73,21 @@ function display_transfer_items($title, &$order)
                        else 
                                alt_table_row_color($k);
 
-                       view_stock_status_cell($stock_item->stock_id);
+                       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);
                qty_cell($stock_item->quantity, false, get_qty_dec($stock_item->stock_id));
                label_cell($stock_item->units);
 
-                       edit_button_cell("Edit$line_no", _("Edit"),
-                               _('Edit document line'));
-                       delete_button_cell("Delete$line_no", _("Delete"),
-                               _('Remove line from document'));
+               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, $line_no);
-               }
        }
 
        if ($id == -1)
@@ -122,10 +120,14 @@ function transfer_edit_item_controls(&$order, $line_no=-1)
        }
        else
        {
-       stock_costable_items_list_cells(null, 'stock_id', null, false, true);
+               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');
+                       $Ajax->activate('units');
+                       $Ajax->activate('qty');
                }
 
        $item_info = get_item_edit_info($_POST['stock_id']);
@@ -135,23 +137,23 @@ function transfer_edit_item_controls(&$order, $line_no=-1)
                $_POST['units'] = $item_info["units"];
        }
 
-       small_qty_cells(null, 'qty', $_POST['qty'], null, null, $dec);
+       if ($order->fixed_asset) {
+               hidden('qty', 1);
+               qty_cell(1, false, 0);
+       } else
+               small_qty_cells(null, 'qty', $_POST['qty'], null, null, $dec);
+
        label_cell($_POST['units'], '', 'units');
 
        if ($id != -1)
        {
-               button_cell('UpdateItem', _("Update"),
-                               _('Confirm changes'), ICON_UPDATE);
-               button_cell('CancelItemChanges', _("Cancel"),
-                               _('Cancel changes'), ICON_CANCEL);
+               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);
-       }
+               submit_cells('AddItem', _("Add Item"), "colspan=2", _('Add new item to document'), true);
 
        end_row();
 }
@@ -161,15 +163,14 @@ function transfer_edit_item_controls(&$order, $line_no=-1)
 
 function transfer_options_controls()
 {
-         echo "<br>";
-         start_table();
+    echo "<br>";
+    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