<?php
/**********************************************************************
Copyright (C) FrontAccounting, LLC.
- Released under the terms of the GNU Affero General Public License,
- AGPL, as published by the Free Software Foundation, either version
- 3 of the License, or (at your option) any later version.
+ Released under the terms of the GNU General Public License, GPL,
+ as published by the Free Software Foundation, either version 3
+ of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License here <http://www.gnu.org/licenses/agpl-3.0.html>.
+ See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
***********************************************************************/
function add_tax_type($name, $sales_gl_code, $purchasing_gl_code, $rate)
{
db_query($sql, "could not update tax type");
}
-function get_all_tax_types()
+function get_all_tax_types($all=false)
{
$sql = "SELECT ".TB_PREF."tax_types.*,
Chart1.account_name AS SalesAccountName,
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";
return db_query($sql, "could not get all tax types");
}
AND ".TB_PREF."tax_types.purchasing_gl_code = Chart2.account_code AND id=$type_id";
$result = db_query($sql, "could not get tax type");
-
return db_fetch($result);
}
commit_transaction();
}
+/*
+ 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);
+}
?>
\ No newline at end of file