$path_to_root = "../..";
include($path_to_root . "/includes/session.inc");
-page(_("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");
$_POST['cogs_account'], $_POST['inventory_account'],
$_POST['adjustment_account'], $_POST['assembly_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
$_POST['cogs_account'], $_POST['inventory_account'],
$_POST['adjustment_account'], $_POST['assembly_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';
{
// PREVENT DELETES IF DEPENDENT RECORDS IN 'stock_master'
- $sql= "SELECT COUNT(*) FROM ".TB_PREF."stock_master WHERE category_id='$selected_id'";
- $result = db_query($sql, "could not query stock master");
- $myrow = db_fetch_row($result);
- if ($myrow[0] > 0)
+ if (key_in_foreign_table($selected_id, 'stock_master', 'category_id'))
{
display_error(_("Cannot delete this item category because items have been created using this item category."));
}
{
$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');
}
-//----------------------------------------------------------------------------------
-$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";
-if (!check_value('show_inactive')) $sql .= " AND !c.inactive";
+//----------------------------------------------------------------------------------
+$fixed_asset = is_fixed_asset(get_post('mb_flag'));
-$result = db_query($sql, "could not get stock categories");
+$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);
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_assembly_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"));
//----------------------------------------------------------------------------------
div_start('details');
-start_table($table_style2);
+start_table(TABLESTYLE2);
if ($selected_id != -1)
{
$_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');
$_POST['long_description'] = '';
$_POST['description'] = '';
$_POST['no_sale'] = 0;
+ $_POST['no_purchase'] = 0;
$company_record = get_company_prefs();
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']);
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']);
end_page();
-?>