X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=taxes%2Ftax_groups.php;h=16873e04ecf2724e849795ea1a2ef1a522827365;hb=efa2530a7c385a329c3fc76f4560b28ba97c3efe;hp=f04e0bfa3ecb13a8a16b75c3ec27b3f4ab194670;hpb=de3a75773afa86df1739d14f24399d6f7a46f809;p=fa-stable.git diff --git a/taxes/tax_groups.php b/taxes/tax_groups.php index f04e0bfa..16873e04 100644 --- a/taxes/tax_groups.php +++ b/taxes/tax_groups.php @@ -1,11 +1,20 @@ . +***********************************************************************/ +$page_security = 'SA_TAXGROUPS'; +$path_to_root = ".."; include($path_to_root . "/includes/session.inc"); -page(_("Tax Groups")); +page(_($help_context = "Tax Groups")); include_once($path_to_root . "/includes/data_checks.inc"); include_once($path_to_root . "/includes/ui.inc"); @@ -13,22 +22,13 @@ include_once($path_to_root . "/includes/ui.inc"); include_once($path_to_root . "/taxes/db/tax_groups_db.inc"); include_once($path_to_root . "/taxes/db/tax_types_db.inc"); -if (isset($_GET['selected_id'])) -{ - $selected_id = $_GET['selected_id']; -} -elseif(isset($_POST['selected_id'])) -{ - $selected_id = $_POST['selected_id']; -} -else - $selected_id = -1; +simple_page_mode(true); check_db_has_tax_types(_("There are no tax types defined. Define tax types before defining tax groups.")); //----------------------------------------------------------------------------------- -if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) +if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { //initialise no input errors assumed initially before we test @@ -38,54 +38,37 @@ if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) { $input_error = 1; display_error(_("The tax group name cannot be empty.")); + set_focus('name'); } - else - { - // make sure any entered rates are valid - for ($i = 0; $i < 5; $i++) - { - if (isset($_POST['tax_type_id' . $i]) && - $_POST['tax_type_id' . $i] != reserved_words::get_all_numeric() && - !check_num('rate' . $i, 0)) - { - display_error( _("An entered tax rate is invalid or less than zero.")); - $input_error = 1; - break; - } - } - } - if ($input_error != 1) { // create an array of the taxes and array of rates $taxes = array(); - $rates = array(); - - for ($i = 0; $i < 5; $i++) - { - if (isset($_POST['tax_type_id' . $i]) && - $_POST['tax_type_id' . $i] != reserved_words::get_any_numeric()) - { - $taxes[] = $_POST['tax_type_id' . $i]; - $rates[] = input_num('rate' . $i); - } - } - + $tax_shippings = array(); + + while (($id = find_submit('tax_type_id'))!=-1) + { + if (check_value('tax_type_id'.$id) != 0) + { + $taxes[] = $id; + $tax_shippings[] = check_value('tax_shipping'.$id); + } + unset($_POST['tax_type_id' . $id]); + unset($_POST['tax_shipping' . $id]); + } if ($selected_id != -1) { - - update_tax_group($selected_id, $_POST['name'], $_POST['tax_shipping'], $taxes, - $rates); - + update_tax_group($selected_id, $_POST['name'], $taxes, $tax_shippings); + display_notification(_('Selected tax group has been updated')); } else { - - add_tax_group($_POST['name'], $_POST['tax_shipping'], $taxes, $rates); + add_tax_group($_POST['name'], $taxes, $tax_shippings); + display_notification(_('New tax group has been added')); } - meta_forward($_SERVER['PHP_SELF']); + $Mode = 'RESET'; } } @@ -95,21 +78,15 @@ function can_delete($selected_id) { if ($selected_id == -1) return false; - $sql = "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE tax_group_id=$selected_id"; - $result = db_query($sql, "could not query customers"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($selected_id, 'cust_branch', 'tax_group_id')) { - display_note(_("Cannot delete this tax group because customer branches been created referring to it.")); + display_error(_("Cannot delete this tax group because customer branches been created referring to it.")); return false; } - $sql = "SELECT COUNT(*) FROM ".TB_PREF."suppliers WHERE tax_group_id=$selected_id"; - $result = db_query($sql, "could not query suppliers"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($selected_id, 'suppliers', 'tax_group_id')) { - display_note(_("Cannot delete this tax group because suppliers been created referring to it.")); + display_error(_("Cannot delete this tax group because suppliers been created referring to it.")); return false; } @@ -120,22 +97,35 @@ function can_delete($selected_id) //----------------------------------------------------------------------------------- -if (isset($_GET['delete'])) +if ($Mode == 'Delete') { if (can_delete($selected_id)) { delete_tax_group($selected_id); - meta_forward($_SERVER['PHP_SELF']); + display_notification(_('Selected tax group has been deleted')); } + $Mode = 'RESET'; } +if ($Mode == 'RESET') +{ + $selected_id = -1; + $sav = get_post('show_inactive'); + unset($_POST); + if ($sav) + $_POST['show_inactive'] = $sav; +} //----------------------------------------------------------------------------------- -$result = get_all_tax_groups(); +$result = get_all_tax_groups(check_value('show_inactive')); + +start_form(); + +start_table(TABLESTYLE); +$th = array(_("Description"), "", ""); +inactive_control_column($th); -start_table($table_style); -$th = array(_("Description"), _("Tax Shipping"), "", ""); table_header($th); $k = 0; @@ -145,88 +135,74 @@ while ($myrow = db_fetch($result)) alt_table_row_color($k); label_cell($myrow["name"]); - if ($myrow["tax_shipping"]) - label_cell(_("Yes")); - else - label_cell(_("No")); - - /*for ($i=0; $i< 5; $i++) - if ($myrow["type" . $i] != reserved_words::get_all_numeric()) - echo "" . $myrow["type" . $i] . "";*/ - edit_link_cell("selected_id=" . $myrow["id"]); - delete_link_cell("selected_id=" . $myrow["id"]. "&delete=1"); - end_row();; + inactive_control_cell($myrow["id"], $myrow["inactive"], 'tax_groups', 'id'); + edit_button_cell("Edit".$myrow["id"], _("Edit")); + delete_button_cell("Delete".$myrow["id"], _("Delete")); + end_row(); } -end_table(); +inactive_control_row($th); +end_table(1); //----------------------------------------------------------------------------------- -hyperlink_no_params($_SERVER['PHP_SELF'], _("New Tax Group")); - -start_form(); - -start_table($table_style2); +start_table(TABLESTYLE2); if ($selected_id != -1) { //editing an existing status code - if (!isset($_POST['name'])) - { + if ($Mode == 'Edit') { $group = get_tax_group($selected_id); $_POST['name'] = $group["name"]; - $_POST['tax_shipping'] = $group["tax_shipping"]; - $items = get_tax_group_items($selected_id); - - $i = 0; - while ($tax_item = db_fetch($items)) - { - $_POST['tax_type_id' . $i] = $tax_item["tax_type_id"]; - $_POST['rate' . $i] = percent_format($tax_item["rate"]); - $i ++; - } } - hidden('selected_id', $selected_id); + } text_row_ex(_("Description:"), 'name', 40); -yesno_list_row(_("Tax Shipping:"), 'tax_shipping', null, "", "", true); end_table(); -display_note(_("Select the taxes that are included in this group."), 1); +display_note(_("Select the taxes that are included in this group."), 1, 1); + +$items = get_tax_group_rates($selected_id!=-1 ? $selected_id : null); -start_table($table_style2); -$th = array(_("Tax"), _("Default Rate (%)"), _("Rate (%)")); +start_table(TABLESTYLE2); +$th = array(_("Tax"), "", _("Shipping Tax")); table_header($th); -for ($i = 0; $i < 5; $i++) + +while($item = db_fetch($items)) { start_row(); - if (!isset($_POST['tax_type_id' . $i])) - $_POST['tax_type_id' . $i] = 0; - tax_types_list_cells(null, 'tax_type_id' . $i, $_POST['tax_type_id' . $i], true, _("None"), true); - - if ($_POST['tax_type_id' . $i] != 0 && $_POST['tax_type_id' . $i] != reserved_words::get_all_numeric()) + if ($selected_id != -1) { - - $default_rate = get_tax_type_default_rate($_POST['tax_type_id' . $i]); - label_cell(percent_format($default_rate), "nowrap align=right"); - - if (!isset($_POST['rate' . $i]) || $_POST['rate' . $i] == "") - $_POST['rate' . $i] = percent_format($default_rate); - small_amount_cells(null, 'rate' . $i, $_POST['rate' . $i], null, null, - user_percent_dec()); + check_cells($item['tax_type_name'], 'tax_type_id' . $item['tax_type_id'], + isset($item['rate']), true, false, "align='center'"); + if (isset($item['rate'])) + check_cells(null, 'tax_shipping' . $item['tax_type_id'], $item['tax_shipping']); } - end_row(); + else + { + check_cells($item['tax_type_name'], 'tax_type_id' . $item['tax_type_id'], + null, true, false, "align='center'"); + if (get_post('_tax_type_id' . $item['tax_type_id'].'_update')) + { + //$_POST['_tax_type_id' . $item['tax_type_id'].'_update'] = 0; + $Ajax->activate('_page_body'); + } + if (check_value('tax_type_id' . $item['tax_type_id'])==1) + check_cells(null, 'tax_shipping' . $item['tax_type_id'], null); + } + end_row(); + } end_table(1); -submit_add_or_update_center(!isset($selected_id)); +submit_add_or_update_center($selected_id == -1, '', 'both'); end_form(); @@ -234,4 +210,3 @@ end_form(); end_page(); -?>