Items: fixed item tax type selector to exclude inactive item tax types.
[fa-stable.git] / taxes / db / item_tax_types_db.inc
1 <?php
2 /**********************************************************************
3     Copyright (C) FrontAccounting, LLC.
4         Released under the terms of the GNU General Public License, GPL, 
5         as published by the Free Software Foundation, either version 3 
6         of the License, or (at your option) any later version.
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
10     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 function add_item_tax_type($name, $exempt, $exempt_from)
13 {
14         begin_transaction();
15         
16         $sql = "INSERT INTO ".TB_PREF."item_tax_types (name, exempt) 
17                 VALUES (".db_escape($name).",".db_escape($exempt).")";
18                 
19         db_query($sql, "could not add item tax type");  
20         
21         $id = db_insert_id();
22         
23         // add the exemptions
24         add_item_tax_type_exemptions($id, $exempt_from);
25         
26         commit_transaction();
27 }
28
29 function update_item_tax_type($id, $name, $exempt, $exempt_from)
30 {
31         begin_transaction();
32         
33         $sql = "UPDATE ".TB_PREF."item_tax_types SET name=".db_escape($name).
34         ",      exempt=".db_escape($exempt)." WHERE id=".db_escape($id);
35         
36         db_query($sql, "could not update item tax type");       
37         
38         // readd the exemptions
39         delete_item_tax_type_exemptions($id);
40         add_item_tax_type_exemptions($id, $exempt_from);                
41         
42         commit_transaction();   
43 }
44
45 function get_all_item_tax_types($also_inactive=false)
46 {
47         $sql = "SELECT * FROM ".TB_PREF."item_tax_types";
48         if (!$also_inactive)
49                 $sql .= " WHERE !inactive";
50
51         return db_query($sql, "could not get all item tax type");
52
53
54 function get_item_tax_type($id)
55 {
56         $sql = "SELECT * FROM ".TB_PREF."item_tax_types WHERE id=".db_escape($id);
57         
58         $result = db_query($sql, "could not get item tax type");
59         
60         return db_fetch($result);
61 }
62
63 function get_item_tax_type_for_item($stock_id)
64 {
65         $sql = "SELECT item_tax_type.*
66                 FROM ".TB_PREF."item_tax_types item_tax_type,"
67                         .TB_PREF."stock_master item
68                 WHERE item.stock_id=".db_escape($stock_id)."
69                 AND item_tax_type.id=item.tax_type_id";
70         
71         $result = db_query($sql, "could not get item tax type");
72         
73         return db_fetch($result);       
74 }
75
76 function delete_item_tax_type($id)
77 {
78         begin_transaction();
79                 
80         $sql = "DELETE FROM ".TB_PREF."item_tax_types WHERE id=".db_escape($id);
81                 
82         db_query($sql, "could not delete item tax type");
83         // also delete all exemptions
84         delete_item_tax_type_exemptions($id);
85         
86         commit_transaction();   
87 }
88
89 function add_item_tax_type_exemptions($id, $exemptions)
90 {
91         for ($i = 0; $i < count($exemptions); $i++) 
92         {
93                 $sql = "INSERT INTO ".TB_PREF."item_tax_type_exemptions (item_tax_type_id, tax_type_id)
94                         VALUES (".db_escape($id).",  ".db_escape($exemptions[$i]).")";
95                 db_query($sql, "could not add item tax type exemptions");                                       
96         }               
97 }
98
99 function delete_item_tax_type_exemptions($id)
100 {
101         $sql = "DELETE FROM ".TB_PREF."item_tax_type_exemptions WHERE item_tax_type_id=".db_escape($id);
102         
103         db_query($sql, "could not delete item tax type exemptions");                                    
104 }
105
106 function get_item_tax_type_exemptions($id)
107 {
108         $sql = "SELECT * FROM ".TB_PREF."item_tax_type_exemptions WHERE item_tax_type_id=".db_escape($id);
109         
110         return db_query($sql, "could not get item tax type exemptions");
111 }
112
113 function item_type_inactive($id)
114 {
115         $type = get_item_tax_type($id);
116         return @$type['inactive'];
117 }