[0004212] Work Order Entry: fixed error when voided WO refence is reused.
[fa-stable.git] / inventory / manage / item_categories.php
index d8dbb69ec32b9c7cc8db82f4db11216d2a1aed72..136c0a80eeee6f9907dd79a176c4ebcd31be3299 100644 (file)
@@ -13,7 +13,20 @@ $page_security = 'SA_ITEMCATEGORY';
 $path_to_root = "../..";
 include($path_to_root . "/includes/session.inc");
 
-page(_($help_context = "Item Categories"));
+if (isset($_GET['FixedAsset'])) {
+  $page_security = 'SA_ASSETCATEGORY';
+  $help_context = "Fixed Assets Categories";
+  $_POST['mb_flag'] = 'F';
+}
+else {
+  $help_context = "Item Categories";
+}
+
+$js = "";
+if ($SysPrefs->use_popup_windows && $SysPrefs->use_popup_search)
+       $js .= get_js_open_window(900, 500);
+
+page(_($help_context), false, false, "", $js);
 
 include_once($path_to_root . "/includes/ui.inc");
 
@@ -42,9 +55,9 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
                    update_item_category($selected_id, $_POST['description'],
                                $_POST['tax_type_id'],  $_POST['sales_account'], 
                                $_POST['cogs_account'], $_POST['inventory_account'], 
-                               $_POST['adjustment_account'], $_POST['assembly_account'],
+                               $_POST['adjustment_account'], $_POST['wip_account'],
                                $_POST['units'], $_POST['mb_flag'],     $_POST['dim1'], $_POST['dim2'],
-                               check_value('no_sale'));
+                               check_value('no_sale'), check_value('no_purchase'));
                        display_notification(_('Selected item category has been updated'));
        } 
        else 
@@ -52,9 +65,9 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
                    add_item_category($_POST['description'],
                                $_POST['tax_type_id'],  $_POST['sales_account'], 
                                $_POST['cogs_account'], $_POST['inventory_account'], 
-                               $_POST['adjustment_account'], $_POST['assembly_account'], 
+                               $_POST['adjustment_account'], $_POST['wip_account'], 
                                $_POST['units'], $_POST['mb_flag'],     $_POST['dim1'], 
-                               $_POST['dim2'], check_value('no_sale'));
+                               $_POST['dim2'], check_value('no_sale'), check_value('no_purchase'));
                        display_notification(_('New item category has been added'));
        }
                $Mode = 'RESET';
@@ -83,21 +96,32 @@ if ($Mode == 'RESET')
 {
        $selected_id = -1;
        $sav = get_post('show_inactive');
+    $mb_flag = get_post('mb_flag');
        unset($_POST);
        $_POST['show_inactive'] = $sav;
+       if (is_fixed_asset($mb_flag))
+               $_POST['mb_flag'] = 'F';
 }
 if (list_updated('mb_flag')) {
        $Ajax->activate('details');
 }
+
 //----------------------------------------------------------------------------------
+$fixed_asset = is_fixed_asset(get_post('mb_flag'));
 
-$result = get_item_categories(check_value('show_inactive'));
+$result = get_item_categories(check_value('show_inactive'), $fixed_asset);
 
 start_form();
-start_table("$table_style width=80%");
-$th = array(_("Name"), _("Tax type"), _("Units"), _("Type"), _("Sales Act"),
-_("Inventory Account"), _("COGS Account"), _("Adjustment Account"),
-_("Assembly Account"), "", "");
+start_table(TABLESTYLE, "width='80%'");
+if ($fixed_asset) {
+       $th = array(_("Name"), _("Tax type"), _("Units"), _("Sales Act"),
+               _("Asset Account"), _("Deprecation Cost Account"),
+               _("Depreciation/Disposal Account"), "", "");
+} else {
+       $th = array(_("Name"), _("Tax type"), _("Units"), _("Type"), _("Sales Act"),
+               _("Inventory Account"), _("COGS Account"), _("Adjustment Account"),
+               _("Assembly Account"), "", "");
+}
 inactive_control_column($th);
 
 table_header($th);
@@ -111,12 +135,14 @@ while ($myrow = db_fetch($result))
        label_cell($myrow["description"]);
        label_cell($myrow["tax_name"]);
        label_cell($myrow["dflt_units"], "align=center");
-       label_cell($stock_types[$myrow["dflt_mb_flag"]]);
+       if (!$fixed_asset)
+               label_cell($stock_types[$myrow["dflt_mb_flag"]]);
        label_cell($myrow["dflt_sales_act"], "align=center");
        label_cell($myrow["dflt_inventory_act"], "align=center");
        label_cell($myrow["dflt_cogs_act"], "align=center");
        label_cell($myrow["dflt_adjustment_act"], "align=center");
-       label_cell($myrow["dflt_assembly_act"], "align=center");
+       if (!$fixed_asset)
+               label_cell($myrow["dflt_wip_act"], "align=center");
        inactive_control_cell($myrow["category_id"], $myrow["inactive"], 'stock_category', 'category_id');
        edit_button_cell("Edit".$myrow["category_id"], _("Edit"));
        delete_button_cell("Delete".$myrow["category_id"], _("Delete"));
@@ -129,7 +155,7 @@ echo '<br>';
 //----------------------------------------------------------------------------------
 
 div_start('details');
-start_table($table_style2);
+start_table(TABLESTYLE2);
 
 if ($selected_id != -1) 
 {
@@ -144,12 +170,13 @@ if ($selected_id != -1)
                $_POST['cogs_account']  = $myrow["dflt_cogs_act"];
                $_POST['inventory_account']  = $myrow["dflt_inventory_act"];
                $_POST['adjustment_account']  = $myrow["dflt_adjustment_act"];
-               $_POST['assembly_account']  = $myrow["dflt_assembly_act"];
+               $_POST['wip_account']  = $myrow["dflt_wip_act"];
                $_POST['units']  = $myrow["dflt_units"];
                $_POST['mb_flag']  = $myrow["dflt_mb_flag"];
                $_POST['dim1']  = $myrow["dflt_dim1"];
                $_POST['dim2']  = $myrow["dflt_dim2"];
                $_POST['no_sale']  = $myrow["dflt_no_sale"];
+               $_POST['no_purchase']  = $myrow["dflt_no_purchase"];
        } 
        hidden('selected_id', $selected_id);
        hidden('category_id');
@@ -157,6 +184,7 @@ if ($selected_id != -1)
                $_POST['long_description'] = '';
                $_POST['description'] = '';
                $_POST['no_sale']  = 0;
+               $_POST['no_purchase']  = 0;
 
                $company_record = get_company_prefs();
 
@@ -172,8 +200,8 @@ if ($selected_id != -1)
        if (get_post('adjustment_account') == "")
                $_POST['adjustment_account'] = $company_record["default_adj_act"];
 
-       if (get_post('assembly_account') == "")
-               $_POST['assembly_account'] = $company_record["default_assembly_act"];
+       if (get_post('wip_account') == "")
+               $_POST['wip_account'] = $company_record["default_wip_act"];
 
 }
 
@@ -183,11 +211,19 @@ table_section_title(_("Default values for new items"));
 
 item_tax_types_list_row(_("Item Tax Type:"), 'tax_type_id', null);
 
-stock_item_types_list_row(_("Item Type:"), 'mb_flag', null, true);
+if (is_fixed_asset(get_post('mb_flag')))
+       hidden('mb_flag', 'F');
+else
+       stock_item_types_list_row(_("Item Type:"), 'mb_flag', null, true);
 
 stock_units_list_row(_("Units of Measure:"), 'units', null);
 
-check_row(_("Exclude from sales:"), 'no_sale');
+if (is_fixed_asset($_POST['mb_flag'])) 
+       hidden('no_sale', 0);
+else
+       check_row(_("Exclude from sales:"), 'no_sale');
+
+check_row(_("Exclude from purchases:"), 'no_purchase');
 
 gl_all_accounts_list_row(_("Sales Account:"), 'sales_account', $_POST['sales_account']);
 
@@ -197,6 +233,12 @@ if (is_service($_POST['mb_flag']))
        hidden('inventory_account', $_POST['inventory_account']);
        hidden('adjustment_account', $_POST['adjustment_account']);
 }
+elseif (is_fixed_asset($_POST['mb_flag'])) 
+{
+       gl_all_accounts_list_row(_("Asset account:"), 'inventory_account', $_POST['inventory_account']);
+       gl_all_accounts_list_row(_("Depreciation cost account:"), 'cogs_account', $_POST['cogs_account']);
+       gl_all_accounts_list_row(_("Depreciation/Disposal account:"), 'adjustment_account', $_POST['adjustment_account']);
+}
 else
 {
        gl_all_accounts_list_row(_("Inventory Account:"), 'inventory_account', $_POST['inventory_account']);
@@ -206,9 +248,9 @@ else
 }
 
 if (is_manufactured($_POST['mb_flag']))
-       gl_all_accounts_list_row(_("Item Assembly Costs Account:"), 'assembly_account', $_POST['assembly_account']);
+       gl_all_accounts_list_row(_("Item Assembly Costs Account:"), 'wip_account', $_POST['wip_account']);
 else
-       hidden('assembly_account', $_POST['assembly_account']);
+       hidden('wip_account', $_POST['wip_account']);
 
 $dim = get_company_pref('use_dimension');
 if ($dim >= 1)
@@ -230,4 +272,3 @@ end_form();
 
 end_page();
 
-?>