Database error when updating item.
[fa-stable.git] / inventory / includes / db / items_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 update_item($stock_id, $description, $long_description, $category_id, 
13         $tax_type_id, $units='', $mb_flag='', $sales_account, $inventory_account, 
14         $cogs_account,  $adjustment_account, $assembly_account, $dimension_id, 
15         $dimension2_id, $no_sale)
16 {
17         $sql = "UPDATE ".TB_PREF."stock_master SET long_description=".db_escape($long_description).",
18                 description=".db_escape($description).",
19                 category_id=".db_escape($category_id).",
20                 sales_account=".db_escape($sales_account).",
21                 inventory_account=".db_escape($inventory_account).",
22                 cogs_account=".db_escape($cogs_account).",
23                 adjustment_account=".db_escape($adjustment_account).",
24                 assembly_account=".db_escape($assembly_account).",
25                 dimension_id=".db_escape($dimension_id).",
26                 dimension2_id=".db_escape($dimension2_id).",
27                 tax_type_id=".db_escape($tax_type_id).",
28                 no_sale=".db_escape($no_sale);
29
30         if ($units != '')
31                 $sql .= ", units='$units'";
32
33         if ($mb_flag != '')
34                 $sql .= ", mb_flag='$mb_flag'";
35
36         $sql .= " WHERE stock_id=".db_escape($stock_id);
37
38         db_query($sql, "The item could not be updated");
39
40         update_item_code(-1, $stock_id, $stock_id, $description, $category_id, 1, 0);
41 }
42
43 function add_item($stock_id, $description, $long_description, $category_id, 
44         $tax_type_id, $units, $mb_flag, $sales_account, $inventory_account, 
45         $cogs_account, $adjustment_account,     $assembly_account, $dimension_id, 
46         $dimension2_id, $no_sale)
47 {
48         $sql = "INSERT INTO ".TB_PREF."stock_master (stock_id, description, long_description, category_id,
49                 tax_type_id, units, mb_flag, sales_account, inventory_account, cogs_account,
50                 adjustment_account, assembly_account, dimension_id, dimension2_id, no_sale)
51                 VALUES (".db_escape($stock_id).", ".db_escape($description).", ".db_escape($long_description).",
52                 ".db_escape($category_id).", ".db_escape($tax_type_id).", "
53                 .db_escape($units).", ".db_escape($mb_flag).",
54                 ".db_escape($sales_account).", ".db_escape($inventory_account)
55                 .", ".db_escape($cogs_account).",".db_escape($adjustment_account)
56                 .", ".db_escape($assembly_account).", "
57                 .db_escape($dimension_id).", ".db_escape($dimension2_id).","
58                 .db_escape($no_sale).")";
59
60         db_query($sql, "The item could not be added");
61
62         $sql = "INSERT INTO ".TB_PREF."loc_stock (loc_code, stock_id)
63                 SELECT ".TB_PREF."locations.loc_code, ".db_escape($stock_id)
64                 ." FROM ".TB_PREF."locations";
65
66         db_query($sql, "The item locstock could not be added");
67
68         add_item_code($stock_id, $stock_id, $description, $category_id, 1, 0);
69 }
70
71 function delete_item($stock_id)
72 {
73         $sql="DELETE FROM ".TB_PREF."stock_master WHERE stock_id=".db_escape($stock_id);
74         db_query($sql, "could not delete stock item");
75
76         /*and cascade deletes in loc_stock */
77         $sql ="DELETE FROM ".TB_PREF."loc_stock WHERE stock_id=".db_escape($stock_id);
78         db_query($sql, "could not delete stock item loc stock");
79
80         /*and cascade deletes in purch_data */
81         $sql ="DELETE FROM ".TB_PREF."purch_data WHERE stock_id=".db_escape($stock_id);
82         db_query($sql, "could not delete stock item purch data");
83
84         /*and cascade deletes in prices */
85         $sql ="DELETE FROM ".TB_PREF."prices WHERE stock_id=".db_escape($stock_id);
86         db_query($sql, "could not delete stock item prices");
87
88         /*and cascade delete the bill of material if any */
89         $sql = "DELETE FROM ".TB_PREF."bom WHERE parent=".db_escape($stock_id);
90         db_query($sql, "could not delete stock item bom");
91
92         delete_item_kit($stock_id);
93 }
94
95 function get_item($stock_id)
96 {
97         $sql = "SELECT ".TB_PREF."stock_master.*,".TB_PREF."item_tax_types.name AS tax_type_name
98                 FROM ".TB_PREF."stock_master,".TB_PREF."item_tax_types
99                 WHERE ".TB_PREF."item_tax_types.id=".TB_PREF."stock_master.tax_type_id
100                 AND stock_id=".db_escape($stock_id);
101         $result = db_query($sql,"an item could not be retreived");
102
103         return db_fetch($result);
104 }
105
106 function get_items()
107 {
108         $sql = "SELECT * FROM ".TB_PREF."stock_master";
109         return db_query($sql,"items could not be retreived");
110 }
111
112 ?>