Fixed Assets fixes, bugs and improvements.
[fa-stable.git] / inventory / includes / item_adjustments_ui.inc
index b1fcef825209e4f0c2cf538f4388555effe83978..e2f585b6951b7658f672ebcd28f57e05141f94d1 100644 (file)
@@ -28,24 +28,16 @@ function display_order_header(&$order)
 {
        global $Refs;
 
-       start_outer_table(TABLESTYLE2, "width=70%"); // outer table
+       start_outer_table(TABLESTYLE2, "width='70%'"); // outer table
        table_section(1);
 
-       locations_list_row(_("Location:"), 'StockLocation', null);
-       ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_INVADJUST));
-
-       table_section(2, "33%");
-
+       locations_list_row(_("Location:"), 'StockLocation', null, false, false, $order->fixed_asset);
     date_row(_("Date:"), 'AdjDate', '', true);
 
-       table_section(3, "33%");
-
-    movement_types_list_row(_("Detail:"), 'type', null);
+       table_section(2, "50%");
 
-    if (!isset($_POST['Increase']))
-       $_POST['Increase'] = 1;
-    yesno_list_row(_("Type:"), 'Increase', $_POST['Increase'],
-       _("Positive Adjustment"), _("Negative Adjustment"));
+       ref_row(_("Reference:"), 'ref', '', $Refs->get_next(ST_INVADJUST, null, array('location'=>get_post('StockLocation'), 'date'=>get_post('AdjDate'))),
+                false, ST_INVADJUST);
 
        end_outer_table(1); // outer table
 }
@@ -58,16 +50,23 @@ function display_adjustment_items($title, &$order)
 
        display_heading($title);
     div_start('items_table');
-       start_table(TABLESTYLE, "width=80%");
-       $th = array(_("Item Code"), _("Item Description"), _("Quantity"),
+       start_table(TABLESTYLE, "width='80%'");
+
+       if ($order->fixed_asset) {
+               $th = array(_("Item Code"), _("Item Description"), _("Quantity"),
+               _("Unit"), _("Unit Cost"), _("Initial Value"), "");
+       } else {
+               $th = array(_("Item Code"), _("Item Description"), _("Quantity"),
                _("Unit"), _("Unit Cost"), _("Total"), "");
+               if ( count($order->line_items)) $th[] = '';
+       }
        if ( count($order->line_items)) $th[] = '';
 
        table_header($th);
        $total = 0;
        $k = 0;  //row colour counter
 
-       $low_stock = $order->check_qoh($_POST['StockLocation'], $_POST['AdjDate'], !$_POST['Increase']);
+       $low_stock = $order->check_qoh($_POST['StockLocation'], $_POST['AdjDate']);
        $id = find_submit('Edit');
        foreach ($order->line_items as $line_no=>$stock_item)
        {
@@ -81,17 +80,26 @@ function display_adjustment_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);
                        amount_decimal_cell($stock_item->standard_cost);
-                       amount_cell($stock_item->standard_cost * $stock_item->quantity);
 
-                       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) {
+                       $price = get_purchase_value($stock_item->stock_id);
+                               amount_cell($price);
+               } else
+                               amount_cell($stock_item->standard_cost * $stock_item->quantity);
+
+               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
@@ -136,11 +144,17 @@ function adjustment_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
+                       stock_costable_items_list_cells(null, 'stock_id', null, false, true);
+
                if (list_updated('stock_id')) {
                            $Ajax->activate('units');
                            $Ajax->activate('qty');
                            $Ajax->activate('std_cost');
+                           $Ajax->activate('std_cost_view');
+                           $Ajax->activate('initial_price');
                }
 
        $item_info = get_item_edit_info($_POST['stock_id']);
@@ -151,12 +165,26 @@ function adjustment_edit_item_controls(&$order, $line_no=-1)
                $_POST['units'] = $item_info["units"];
        }
 
-       qty_cells(null, 'qty', $_POST['qty'], null, null, $dec);
+       if ($order->fixed_asset) {
+               hidden('qty', -1);
+               qty_cell(1, false, 0);
+       } else
+               qty_cells(null, 'qty', $_POST['qty'], null, null, $dec);
+
        label_cell($_POST['units'], '', 'units');
 
-       //amount_cells(null, 'std_cost', $_POST['std_cost']);
-       amount_cells(null, 'std_cost', null, null, null, $dec2);
-       label_cell(" ");
+       if ($order->fixed_asset) {
+               /* TODO: check if this is a correct way of creating a fixed item
+                       that still has to be submitted in the form */ 
+               hidden('std_cost');
+               label_cell($_POST['std_cost'], "nowrap align=right ", 'std_cost_view');
+               $price = get_purchase_value($_POST['stock_id']);
+               amount_cell($price, false, '', 'initial_price');
+       } else {
+               //amount_cells(null, 'std_cost', $_POST['std_cost']);
+               amount_cells(null, 'std_cost', null, null, null, $dec2);
+               label_cell(" ");
+       }
 
        if ($id != -1)
        {