X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=taxes%2Ftax_types.php;h=c826ae4847dcc6e97b1a70e3760ea26e85c41b78;hb=6bcd87642330092910f5d6977845a76ac59350ac;hp=d5b5e60bcedbb53fd645dc99785745825102527f;hpb=bda174fa43e903aa40c5a56371e3c853645ded8c;p=fa-stable.git diff --git a/taxes/tax_types.php b/taxes/tax_types.php index d5b5e60b..c826ae48 100644 --- a/taxes/tax_types.php +++ b/taxes/tax_types.php @@ -1,75 +1,81 @@ . +***********************************************************************/ +$page_security = 'SA_TAXRATES'; +$path_to_root = ".."; include($path_to_root . "/includes/session.inc"); - -page(_("Tax Types")); +page(_($help_context = "Tax Types")); include_once($path_to_root . "/includes/ui.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']; -} +simple_page_mode(true); //----------------------------------------------------------------------------------- -function can_process() +function can_process() { - if (strlen($_POST['name']) == 0) + global $selected_id; + + if (strlen($_POST['name']) == 0) { display_error(_("The tax type name cannot be empty.")); + set_focus('name'); return false; - } - elseif (!is_numeric($_POST['rate'])) - { - display_error( _("The default tax rate must be numeric.")); - return false; - } - elseif ($_POST['rate'] < 0) + } + elseif (!check_num('rate', 0)) { - display_error( _("The default tax rate cannot be less than zero.")); + display_error( _("The default tax rate must be numeric and not less than zero.")); + set_focus('rate'); return false; } + if (!is_tax_gl_unique(get_post('sales_gl_code'), get_post('purchasing_gl_code'), $selected_id)) { + display_error( _("Selected GL Accounts cannot be used by another tax type.")); + set_focus('sales_gl_code'); + return false; + } return true; } //----------------------------------------------------------------------------------- -if (isset($_POST['ADD_ITEM']) && can_process()) +if ($Mode=='ADD_ITEM' && can_process()) { add_tax_type($_POST['name'], $_POST['sales_gl_code'], - $_POST['purchasing_gl_code'], $_POST['rate'], check_value('out')); - meta_forward($_SERVER['PHP_SELF']); + $_POST['purchasing_gl_code'], input_num('rate', 0)); + display_notification(_('New tax type has been added')); + $Mode = 'RESET'; } //----------------------------------------------------------------------------------- -if (isset($_POST['UPDATE_ITEM']) && can_process()) +if ($Mode=='UPDATE_ITEM' && can_process()) { update_tax_type($selected_id, $_POST['name'], - $_POST['sales_gl_code'], $_POST['purchasing_gl_code'], $_POST['rate'], check_value('out')); - meta_forward($_SERVER['PHP_SELF']); + $_POST['sales_gl_code'], $_POST['purchasing_gl_code'], input_num('rate')); + display_notification(_('Selected tax type has been updated')); + $Mode = 'RESET'; } //----------------------------------------------------------------------------------- function can_delete($selected_id) { - $sql= "SELECT COUNT(*) FROM ".TB_PREF."tax_group_items WHERE tax_type_id=$selected_id"; - $result = db_query($sql, "could not query tax groups"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($selected_id, 'tax_group_items', 'tax_type_id')) { display_error(_("Cannot delete this tax type because tax groups been created referring to it.")); + return false; } @@ -79,87 +85,87 @@ function can_delete($selected_id) //----------------------------------------------------------------------------------- -if (isset($_GET['delete'])) +if ($Mode == 'Delete') { if (can_delete($selected_id)) { delete_tax_type($selected_id); - meta_forward($_SERVER['PHP_SELF']); + display_notification(_('Selected tax type has been deleted')); } + $Mode = 'RESET'; } +if ($Mode == 'RESET') +{ + $selected_id = -1; + $sav = get_post('show_inactive'); + unset($_POST); + $_POST['show_inactive'] = $sav; +} //----------------------------------------------------------------------------------- -$result = get_all_tax_types(); +$result = get_all_tax_types(check_value('show_inactive')); -start_table($table_style); +start_form(); + +display_note(_("To avoid problems with manual journal entry all tax types should have unique Sales/Purchasing GL accounts."), 0, 1); +start_table(TABLESTYLE); $th = array(_("Description"), _("Default Rate (%)"), - _("Sales GL Account"), _("Purchasing GL Account"), _("Outstanding"), "", ""); -table_header($th); + _("Sales GL Account"), _("Purchasing GL Account"), "", ""); +inactive_control_column($th); +table_header($th); $k = 0; -while ($myrow = db_fetch($result)) +while ($myrow = db_fetch($result)) { - if ($myrow['out'] == 1) - $out = _("Yes"); - else - $out = _("No"); alt_table_row_color($k); label_cell($myrow["name"]); - label_cell(number_format2($myrow["rate"],user_percent_dec()), "align=right"); + label_cell(percent_format($myrow["rate"]), "align=right"); label_cell($myrow["sales_gl_code"] . " " . $myrow["SalesAccountName"]); label_cell($myrow["purchasing_gl_code"] . " " . $myrow["PurchasingAccountName"]); - label_cell($out); - edit_link_cell("selected_id=".$myrow["id"]); - delete_link_cell("selected_id=".$myrow["id"]."&delete=1"); + inactive_control_cell($myrow["id"], $myrow["inactive"], 'tax_types', 'id'); + edit_button_cell("Edit".$myrow["id"], _("Edit")); + delete_button_cell("Delete".$myrow["id"], _("Delete")); + end_row(); } -end_table(); - -//----------------------------------------------------------------------------------- - -hyperlink_no_params($_SERVER['PHP_SELF'], _("New Tax Type")); - +inactive_control_row($th); +end_table(1); //----------------------------------------------------------------------------------- -start_form(); - -start_table($table_style2); +start_table(TABLESTYLE2); -if (isset($selected_id)) +if ($selected_id != -1) { - //editing an existing status code + if ($Mode == 'Edit') { + //editing an existing status code - $myrow = get_tax_type($selected_id); - - $_POST['name'] = $myrow["name"]; - $_POST['rate'] = $myrow["rate"]; - $_POST['sales_gl_code'] = $myrow["sales_gl_code"]; - $_POST['purchasing_gl_code'] = $myrow["purchasing_gl_code"]; - $_POST['out'] = $myrow["out"]; + $myrow = get_tax_type($selected_id); + $_POST['name'] = $myrow["name"]; + $_POST['rate'] = percent_format($myrow["rate"]); + $_POST['sales_gl_code'] = $myrow["sales_gl_code"]; + $_POST['purchasing_gl_code'] = $myrow["purchasing_gl_code"]; + } hidden('selected_id', $selected_id); } text_row_ex(_("Description:"), 'name', 50); -text_row_ex(_("Default Rate:"), 'rate', 10, 10, "", "%"); +small_amount_row(_("Default Rate:"), 'rate', '', "", "%", user_percent_dec()); gl_all_accounts_list_row(_("Sales GL Account:"), 'sales_gl_code', null); gl_all_accounts_list_row(_("Purchasing GL Account:"), 'purchasing_gl_code', null); -check_row(_("Outstanding:"), 'out', null); - end_table(1); -submit_add_or_update_center(!isset($selected_id)); +submit_add_or_update_center($selected_id == -1, '', 'both'); end_form(); end_page(); -?>