Form submit/escape hotkeys added.
[fa-stable.git] / inventory / manage / item_categories.php
index f5de480a4aed608016629daa26ec678815180550..b5ded413293931fc278b64717aa9045ebd01208c 100644 (file)
@@ -39,12 +39,21 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
        {
        if ($selected_id != -1) 
        {
-                   update_item_category($selected_id, $_POST['description']);                  
+                   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['units'], $_POST['mb_flag'],     $_POST['dim1'], $_POST['dim2']);
                        display_notification(_('Selected item category has been updated'));
        } 
        else 
        {
-                   add_item_category($_POST['description']);
+                   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['units'], $_POST['mb_flag'],     $_POST['dim1'], 
+                               $_POST['dim2']);
                        display_notification(_('New item category has been added'));
        }
                $Mode = 'RESET';
@@ -77,14 +86,21 @@ if ($Mode == 'RESET')
        $selected_id = -1;
        unset($_POST);
 }
+if (list_updated('mb_flag')) {
+       $Ajax->activate('details');
+}
 //----------------------------------------------------------------------------------
 
-$sql = "SELECT * FROM ".TB_PREF."stock_category";
+$sql = "SELECT c.*, t.name as tax_name FROM ".TB_PREF."stock_category c, "
+       .TB_PREF."item_tax_types t WHERE c.dflt_tax_type=t.id";
+
 $result = db_query($sql, "could not get stock categories");
 
 start_form();
-start_table("$table_style width=30%");
-$th = array(_("Name"), "", "");
+start_table("$table_style width=80%");
+$th = array(_("Name"), _("Tax type"), _("Units"), _("Type"), _("Sales Act"),
+_("COGS Account"), _("Inventory Account"), _("Adjustment Account"),
+_("Assembly Account"), "", "");
 table_header($th);
 $k = 0; //row colour counter
 
@@ -94,6 +110,14 @@ while ($myrow = db_fetch($result))
        alt_table_row_color($k);
 
        label_cell($myrow["description"]);
+       label_cell($myrow["tax_name"]);
+       label_cell($myrow["dflt_units"], "align=center");
+       label_cell($stock_types[$myrow["dflt_mb_flag"]]);
+       label_cell($myrow["dflt_sales_act"], "align=center");
+       label_cell($myrow["dflt_cogs_act"], "align=center");
+       label_cell($myrow["dflt_inventory_act"], "align=center");
+       label_cell($myrow["dflt_adjustment_act"], "align=center");
+       label_cell($myrow["dflt_assembly_act"], "align=center");
        edit_button_cell("Edit".$myrow[0], _("Edit"));
        delete_button_cell("Delete".$myrow[0], _("Delete"));
        end_row();
@@ -106,6 +130,7 @@ echo '<br>';
 
 start_form();
 
+div_start('details');
 start_table($table_style2);
 
 if ($selected_id != -1) 
@@ -116,16 +141,87 @@ if ($selected_id != -1)
 
                $_POST['category_id'] = $myrow["category_id"];
                $_POST['description']  = $myrow["description"];
-       }
+               $_POST['tax_type_id']  = $myrow["dflt_tax_type"];
+               $_POST['sales_account']  = $myrow["dflt_sales_act"];
+               $_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['units']  = $myrow["dflt_units"];
+               $_POST['mb_flag']  = $myrow["dflt_mb_flag"];
+               $_POST['dim1']  = $myrow["dflt_dim1"];
+               $_POST['dim2']  = $myrow["dflt_dim2"];
+       } 
        hidden('selected_id', $selected_id);
        hidden('category_id');
+} else {
+               $_POST['long_description'] = '';
+               $_POST['description'] = '';
+
+               $company_record = get_company_prefs();
+
+    if (get_post('inventory_account') == "")
+       $_POST['inventory_account'] = $company_record["default_inventory_act"];
+
+    if (get_post('cogs_account') == "")
+       $_POST['cogs_account'] = $company_record["default_cogs_act"];
+
+       if (get_post('sales_account') == "")
+               $_POST['sales_account'] = $company_record["default_inv_sales_act"];
+
+       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"];
+
 }
 
 text_row(_("Category Name:"), 'description', null, 30, 30);  
 
-end_table(1);
+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);
 
-submit_add_or_update_center($selected_id == -1, '', true);
+stock_units_list_row(_("Units of Measure:"), 'units', null);
+
+gl_all_accounts_list_row(_("Sales Account:"), 'sales_account', $_POST['sales_account']);
+
+gl_all_accounts_list_row(_("Inventory Account:"), 'inventory_account', $_POST['inventory_account']);
+
+if (!is_service($_POST['mb_flag'])) 
+{
+       gl_all_accounts_list_row(_("C.O.G.S. Account:"), 'cogs_account', $_POST['cogs_account']);
+       gl_all_accounts_list_row(_("Inventory Adjustments Account:"), 'adjustment_account', $_POST['adjustment_account']);
+}
+else 
+{
+       hidden('cogs_account', $_POST['cogs_account']);
+       hidden('adjustment_account', $_POST['adjustment_account']);
+}
+
+if (is_manufactured($_POST['mb_flag']))
+       gl_all_accounts_list_row(_("Item Assembly Costs Account:"), 'assembly_account', $_POST['assembly_account']);
+else
+       hidden('assembly_account', $_POST['assembly_account']);
+
+$dim = get_company_pref('use_dimension');
+if ($dim >= 1)
+{
+       dimensions_list_row(_("Dimension")." 1", 'dim1', null, true, " ", false, 1);
+       if ($dim > 1)
+               dimensions_list_row(_("Dimension")." 2", 'dim2', null, true, " ", false, 2);
+}
+if ($dim < 1)
+       hidden('dim1', 0);
+if ($dim < 2)
+       hidden('dim2', 0);
+
+end_table(1);
+div_end();
+submit_add_or_update_center($selected_id == -1, '', 'both');
 
 end_form();