6 include($path_to_root . "/includes/session.inc");
10 include_once($path_to_root . "/includes/data_checks.inc");
11 include_once($path_to_root . "/includes/ui.inc");
13 include_once($path_to_root . "/taxes/db/tax_groups_db.inc");
14 include_once($path_to_root . "/taxes/db/tax_types_db.inc");
16 if (isset($_GET['selected_id']))
18 $selected_id = $_GET['selected_id'];
20 elseif(isset($_POST['selected_id']))
22 $selected_id = $_POST['selected_id'];
27 check_db_has_tax_types(_("There are no tax types defined. Define tax types before defining tax groups."));
29 //-----------------------------------------------------------------------------------
31 if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM']))
34 //initialise no input errors assumed initially before we test
37 if (strlen($_POST['name']) == 0)
40 display_error(_("The tax group name cannot be empty."));
44 // make sure any entered rates are valid
45 for ($i = 0; $i < 5; $i++)
47 if (isset($_POST['tax_type_id' . $i]) &&
48 $_POST['tax_type_id' . $i] != reserved_words::get_all_numeric() &&
49 (!is_numeric($_POST['rate' . $i]) || $_POST['rate' . $i] < 0))
51 display_error( _("An entered tax rate is invalid or less than zero."));
58 if ($input_error != 1)
61 // create an array of the taxes and array of rates
66 for ($i = 0; $i < 5; $i++)
68 if (isset($_POST['tax_type_id' . $i]) &&
69 $_POST['tax_type_id' . $i] != reserved_words::get_any_numeric())
71 $taxes[] = $_POST['tax_type_id' . $i];
72 $rates[] = $_POST['rate' . $i];
73 if (isset($_POST['included' . $i]))
80 if ($selected_id != -1)
83 update_tax_group($selected_id, $_POST['name'], $_POST['tax_shipping'], $taxes,
90 add_tax_group($_POST['name'], $_POST['tax_shipping'], $taxes, $rates, $included);
93 meta_forward($_SERVER['PHP_SELF']);
97 //-----------------------------------------------------------------------------------
99 function can_delete($selected_id)
101 if ($selected_id == -1)
103 $sql = "SELECT COUNT(*) FROM ".TB_PREF."cust_branch WHERE tax_group_id=$selected_id";
104 $result = db_query($sql, "could not query customers");
105 $myrow = db_fetch_row($result);
108 display_note(_("Cannot delete this tax group because customer branches been created referring to it."));
112 $sql = "SELECT COUNT(*) FROM ".TB_PREF."suppliers WHERE tax_group_id=$selected_id";
113 $result = db_query($sql, "could not query suppliers");
114 $myrow = db_fetch_row($result);
117 display_note(_("Cannot delete this tax group because suppliers been created referring to it."));
126 //-----------------------------------------------------------------------------------
128 if (isset($_GET['delete']))
131 if (can_delete($selected_id))
133 delete_tax_group($selected_id);
134 meta_forward($_SERVER['PHP_SELF']);
138 //-----------------------------------------------------------------------------------
140 $result = get_all_tax_groups();
142 start_table($table_style);
143 $th = array(_("Description"), _("Tax Shipping"), "", "");
147 while ($myrow = db_fetch($result))
150 alt_table_row_color($k);
152 label_cell($myrow["name"]);
153 if ($myrow["tax_shipping"])
154 label_cell(_("Yes"));
158 /*for ($i=0; $i< 5; $i++)
159 if ($myrow["type" . $i] != reserved_words::get_all_numeric())
160 echo "<td>" . $myrow["type" . $i] . "</td>";*/
162 edit_link_cell("selected_id=" . $myrow["id"]);
163 delete_link_cell("selected_id=" . $myrow["id"]. "&delete=1");
169 //-----------------------------------------------------------------------------------
171 hyperlink_no_params($_SERVER['PHP_SELF'], _("New Tax Group"));
175 start_table($table_style2);
177 if ($selected_id != -1)
179 //editing an existing status code
181 if (!isset($_POST['name']))
183 $group = get_tax_group($selected_id);
185 $_POST['name'] = $group["name"];
186 $_POST['tax_shipping'] = $group["tax_shipping"];
188 $items = get_tax_group_items($selected_id);
191 while ($tax_item = db_fetch($items))
193 $_POST['tax_type_id' . $i] = $tax_item["tax_type_id"];
194 $_POST['rate' . $i] = $tax_item["rate"];
195 $_POST['included' . $i] = $tax_item["included_in_price"];
200 hidden('selected_id', $selected_id);
202 text_row_ex(_("Description:"), 'name', 40);
203 yesno_list_row(_("Tax Shipping:"), 'tax_shipping', null, "", "", true);
207 display_note(_("Select the taxes that are included in this group."), 1);
209 start_table($table_style2);
210 $th = array(_("Tax"), _("Default Rate (%)"), _("Rate (%)"), _("Include in Price"));
212 for ($i = 0; $i < 5; $i++)
215 if (!isset($_POST['tax_type_id' . $i]))
216 $_POST['tax_type_id' . $i] = 0;
217 if (!isset($_POST['included' . $i]))
218 $_POST['included' . $i] = 0;
219 tax_types_list_cells(null, 'tax_type_id' . $i, $_POST['tax_type_id' . $i], true, _("None"), true);
221 if ($_POST['tax_type_id' . $i] != 0 && $_POST['tax_type_id' . $i] != reserved_words::get_all_numeric())
224 $default_rate = get_tax_type_default_rate($_POST['tax_type_id' . $i]);
225 label_cell(number_format2($default_rate, user_percent_dec()), "nowrap align=right");
227 if (!isset($_POST['rate' . $i]) || $_POST['rate' . $i] == "")
228 $_POST['rate' . $i] = $default_rate;
229 text_cells(null, 'rate' . $i, $_POST['rate' . $i], 10, 10);
230 check_cells(null, 'included' . $i, $_POST['included' . $i]);
237 submit_add_or_update_center(!isset($selected_id));
241 //------------------------------------------------------------------------------------