X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=taxes%2Fdb%2Ftax_types_db.inc;h=52ee5eea956c4bf619df293c3a01b0bd9e386cf8;hb=4a66afcbed7fb883d00c1a6a807497ccfd181378;hp=5cd18ebb1b55815d9340d29acdbdc1f7c9ac01f1;hpb=5928cc0bb4164cfd1dfc77f279f6b12d7806294f;p=fa-stable.git diff --git a/taxes/db/tax_types_db.inc b/taxes/db/tax_types_db.inc index 5cd18ebb..52ee5eea 100644 --- a/taxes/db/tax_types_db.inc +++ b/taxes/db/tax_types_db.inc @@ -1,5 +1,14 @@ . +***********************************************************************/ function add_tax_type($name, $sales_gl_code, $purchasing_gl_code, $rate) { $sql = "INSERT INTO ".TB_PREF."tax_types (name, sales_gl_code, purchasing_gl_code, rate) @@ -20,7 +29,7 @@ function update_tax_type($type_id, $name, $sales_gl_code, $purchasing_gl_code, $ 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, @@ -30,6 +39,7 @@ function get_all_tax_types() 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"); } @@ -51,7 +61,6 @@ function get_tax_type($type_id) 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); } @@ -81,4 +90,27 @@ function delete_tax_type($type_id) 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