sales_gl_code=".db_escape($sales_gl_code).",
purchasing_gl_code=".db_escape($purchasing_gl_code).",
rate=$rate
- WHERE id=$type_id";
+ WHERE id=".db_escape($type_id);
db_query($sql, "could not update tax type");
}
function get_all_tax_types($all=false)
{
- $sql = "SELECT ".TB_PREF."tax_types.*,
- Chart1.account_name AS SalesAccountName,
- Chart2.account_name AS PurchasingAccountName
- FROM ".TB_PREF."tax_types, ".TB_PREF."chart_master AS Chart1,
- ".TB_PREF."chart_master AS Chart2
- WHERE ".TB_PREF."tax_types.sales_gl_code = Chart1.account_code
- AND ".TB_PREF."tax_types.purchasing_gl_code = Chart2.account_code";
-
- if (!$all) $sql .= " AND !".TB_PREF."tax_types.inactive";
+ $sql = "SELECT tax_type.*,
+ Chart1.account_name AS SalesAccountName,
+ Chart2.account_name AS PurchasingAccountName
+ FROM ".TB_PREF."tax_types tax_type,"
+ .TB_PREF."chart_master AS Chart1,"
+ .TB_PREF."chart_master AS Chart2
+ WHERE tax_type.sales_gl_code = Chart1.account_code
+ AND tax_type.purchasing_gl_code = Chart2.account_code";
+
+ if (!$all) $sql .= " AND !tax_type.inactive";
return db_query($sql, "could not get all tax types");
}
function get_all_tax_types_simple()
{
- $sql = "SELECT * FROM ".TB_PREF."tax_types";
+ $sql = "SELECT * FROM ".TB_PREF."tax_types WHERE !inactive";
return db_query($sql, "could not get all tax types");
}
function get_tax_type($type_id)
{
- $sql = "SELECT ".TB_PREF."tax_types.*,
- Chart1.account_name AS SalesAccountName,
- Chart2.account_name AS PurchasingAccountName
- FROM ".TB_PREF."tax_types, ".TB_PREF."chart_master AS Chart1,
- ".TB_PREF."chart_master AS Chart2
- WHERE ".TB_PREF."tax_types.sales_gl_code = Chart1.account_code
- AND ".TB_PREF."tax_types.purchasing_gl_code = Chart2.account_code AND id=$type_id";
+ $sql = "SELECT tax_type.*,
+ Chart1.account_name AS SalesAccountName,
+ Chart2.account_name AS PurchasingAccountName
+ FROM ".TB_PREF."tax_types tax_type,"
+ .TB_PREF."chart_master AS Chart1,"
+ .TB_PREF."chart_master AS Chart2
+ WHERE tax_type.sales_gl_code = Chart1.account_code
+ AND tax_type.purchasing_gl_code = Chart2.account_code AND id=".db_escape($type_id);
$result = db_query($sql, "could not get tax type");
-
return db_fetch($result);
}
-function get_tax_type_default_rate($type_id)
+function get_tax_type_rate($type_id)
{
- $sql = "SELECT rate FROM ".TB_PREF."tax_types WHERE id=$type_id";
+ $sql = "SELECT rate FROM ".TB_PREF."tax_types WHERE id=".db_escape($type_id);
$result = db_query($sql, "could not get tax type rate");
{
begin_transaction();
- $sql = "DELETE FROM ".TB_PREF."tax_types WHERE id=$type_id";
+ $sql = "DELETE FROM ".TB_PREF."tax_types WHERE id=".db_escape($type_id);
db_query($sql, "could not delete tax type");
// also delete any item tax exemptions associated with this type
- $sql = "DELETE FROM ".TB_PREF."item_tax_type_exemptions WHERE tax_type_id=$type_id";
+ $sql = "DELETE FROM ".TB_PREF."item_tax_type_exemptions WHERE tax_type_id=".db_escape($type_id);
db_query($sql, "could not delete item tax type exemptions");
commit_transaction();
}
-?>
\ No newline at end of file
+/*
+ Check if gl_code is used by more than 2 tax types,
+ or check if the two gl codes are not used by any other
+ than selected tax type.
+ Necessary for pre-2.2 installations.
+*/
+function is_tax_gl_unique($gl_code, $gl_code2=-1, $selected_id=-1) {
+
+ $purch_code = $gl_code2== -1 ? $gl_code : $gl_code2;
+
+ $sql = "SELECT count(*) FROM "
+ .TB_PREF."tax_types
+ WHERE (sales_gl_code=" .db_escape($gl_code)
+ ." OR purchasing_gl_code=" .db_escape($purch_code). ")";
+
+ if ($selected_id != -1)
+ $sql .= " AND id!=".db_escape($selected_id);
+
+ $res = db_query($sql, "could not query gl account uniqueness");
+ $row = db_fetch($res);
+
+ return $gl_code2 == -1 ? ($row[0] <= 1) : ($row[0] == 0);
+}
+
+function is_tax_account($account_code)
+{
+ $sql= "SELECT id FROM ".TB_PREF."tax_types WHERE
+ sales_gl_code=".db_escape($account_code)." OR purchasing_gl_code=".db_escape($account_code);
+ $result = db_query($sql, "checking account is tax account");
+ if (db_num_rows($result) > 0) {
+ $acct = db_fetch($result);
+ return $acct['id'];
+ } else
+ return false;
+}
+
+