From: Janusz Dobrowolski Date: Sun, 29 Oct 2017 11:01:31 +0000 (+0100) Subject: Items: fixed item tax type selector to exclude inactive item tax types. X-Git-Tag: v2.4.3~14 X-Git-Url: https://delta.frontaccounting.com/gitweb/?p=fa-stable.git;a=commitdiff_plain;h=e6c89f21df1c1d6742a7e335e6e0fc2c958a7a29 Items: fixed item tax type selector to exclude inactive item tax types. --- diff --git a/includes/ui/ui_lists.inc b/includes/ui/ui_lists.inc index 9ea52996..351fc5da 100644 --- a/includes/ui/ui_lists.inc +++ b/includes/ui/ui_lists.inc @@ -1232,25 +1232,28 @@ function tax_groups_list_row($label, $name, $selected_id=null, $none_option=fals //------------------------------------------------------------------------------------ -function item_tax_types_list($name, $selected_id=null) +function item_tax_types_list($name, $selected_id=null, $show_inactive = false) { $sql ="SELECT id, name FROM ".TB_PREF."item_tax_types"; + if (!$show_inactive) + $sql .= " WHERE !inactive"; + return combo_input($name, $selected_id, $sql, 'id', 'name', array('order' => 'id') ); } -function item_tax_types_list_cells($label, $name, $selected_id=null) +function item_tax_types_list_cells($label, $name, $selected_id=null, $show_inactive = false) { if ($label != null) echo "$label\n"; echo ""; - echo item_tax_types_list($name, $selected_id); + echo item_tax_types_list($name, $selected_id, $show_inactive); echo "\n"; } -function item_tax_types_list_row($label, $name, $selected_id=null) +function item_tax_types_list_row($label, $name, $selected_id=null, $show_inactive = false) { echo "$label"; - item_tax_types_list_cells(null, $name, $selected_id); + item_tax_types_list_cells(null, $name, $selected_id, $show_inactive); echo "\n"; } diff --git a/inventory/manage/items.php b/inventory/manage/items.php index 77362bcf..8ed29d2c 100644 --- a/inventory/manage/items.php +++ b/inventory/manage/items.php @@ -391,7 +391,8 @@ function item_settings(&$stock_id, $new_item) $fresh_item = !isset($_POST['NewStockID']) || $new_item || check_usage($_POST['stock_id'],false); - item_tax_types_list_row(_("Item Tax Type:"), 'tax_type_id', null); + // show inactive item tax type in selector only if already set. + item_tax_types_list_row(_("Item Tax Type:"), 'tax_type_id', null, !$new_item && item_type_inactive(get_post('tax_type_id'))); if (!get_post('fixed_asset')) stock_item_types_list_row(_("Item Type:"), 'mb_flag', null, $fresh_item); diff --git a/taxes/db/item_tax_types_db.inc b/taxes/db/item_tax_types_db.inc index 809f9f9e..446a5dc7 100644 --- a/taxes/db/item_tax_types_db.inc +++ b/taxes/db/item_tax_types_db.inc @@ -110,3 +110,8 @@ function get_item_tax_type_exemptions($id) return db_query($sql, "could not get item tax type exemptions"); } +function item_type_inactive($id) +{ + $type = get_item_tax_type($id); + return @$type['inactive']; +}