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_branch($customer_id, $br_name, $br_ref, $br_address, $salesman, $area,
13 $tax_group_id, $sales_account, $sales_discount_account, $receivables_account,
14 $payment_discount_account, $default_location, $br_post_address, $disable_trans, $group_no,
15 $default_ship_via, $notes)
17 $sql = "INSERT INTO ".TB_PREF."cust_branch (debtor_no, br_name, branch_ref, br_address,
18 salesman, area, tax_group_id, sales_account, receivables_account, payment_discount_account,
19 sales_discount_account, default_location,
20 br_post_address, disable_trans, group_no, default_ship_via, notes)
21 VALUES (".db_escape($customer_id). ",".db_escape($br_name) . ", "
22 .db_escape($br_ref) . ", "
23 .db_escape($br_address) . ", ".db_escape($salesman) . ", "
24 .db_escape($area) . ","
25 .db_escape($tax_group_id) . ", "
26 .db_escape($sales_account) . ", "
27 .db_escape($receivables_account) . ", "
28 .db_escape($payment_discount_account) . ", "
29 .db_escape($sales_discount_account) . ", "
30 .db_escape($default_location) . ", "
31 .db_escape($br_post_address) . ","
32 .db_escape($disable_trans) . ", "
33 .db_escape($group_no) . ", "
34 .db_escape($default_ship_via). ", "
35 .db_escape($notes).")";
36 db_query($sql,"The branch record could not be added");
39 function update_branch($customer_id, $branch_code, $br_name, $br_ref, $br_address,
40 $salesman, $area, $tax_group_id, $sales_account, $sales_discount_account, $receivables_account,
41 $payment_discount_account, $default_location, $br_post_address, $disable_trans, $group_no,
42 $default_ship_via, $notes)
44 $sql = "UPDATE ".TB_PREF."cust_branch SET br_name = " . db_escape($br_name) . ",
45 branch_ref = " . db_escape($br_ref) . ",
46 br_address = ".db_escape($br_address). ",
47 salesman= ".db_escape($salesman) . ",
48 area=".db_escape($area) . ",
49 tax_group_id=".db_escape($tax_group_id). ",
50 sales_account=".db_escape($sales_account) . ",
51 sales_discount_account=".db_escape($sales_discount_account) . ",
52 receivables_account=".db_escape($receivables_account) . ",
53 payment_discount_account=".db_escape($payment_discount_account) . ",
54 default_location=".db_escape($default_location) . ",
55 br_post_address =".db_escape($br_post_address) . ",
56 disable_trans=".db_escape($disable_trans) . ",
57 group_no=".db_escape($group_no) . ",
58 default_ship_via=".db_escape($default_ship_via) . ",
59 notes=".db_escape($notes) . "
60 WHERE branch_code =".db_escape($branch_code) . "
61 AND debtor_no=".db_escape($customer_id);
62 db_query($sql,"The branch record could not be updated");
65 function delete_branch($customer_id, $branch_code)
67 delete_entity_contacts('cust_branch', $branch_code);
69 $sql="DELETE FROM ".TB_PREF."cust_branch WHERE branch_code=".db_escape($branch_code)." AND debtor_no=".db_escape($customer_id);
70 db_query($sql,"could not delete branch");
73 function branch_in_foreign_table($customer_id, $branch_code, $table)
75 $sql= "SELECT COUNT(*) FROM ".TB_PREF."$table WHERE branch_code=".db_escape($branch_code)
76 ." AND debtor_no = ".db_escape($customer_id);
77 $result = db_query($sql,"could not query $table");
78 $myrow = db_fetch_row($result);
79 return ($myrow[0] > 0);
82 function get_branch($branch_id)
84 $sql = "SELECT ".TB_PREF."cust_branch.*,".TB_PREF."salesman.salesman_name
85 FROM ".TB_PREF."cust_branch, ".TB_PREF."salesman
86 WHERE ".TB_PREF."cust_branch.salesman=".TB_PREF."salesman.salesman_code
87 AND branch_code=".db_escape($branch_id);
89 $result = db_query($sql, "Cannot retreive a customer branch");
91 return db_fetch($result);
94 function get_cust_branch($customer_id, $branch_code)
96 $sql = "SELECT * FROM ".TB_PREF."cust_branch
97 WHERE branch_code=".db_escape($branch_code)."
98 AND debtor_no=".db_escape($customer_id);
99 $result = db_query($sql,"check failed");
100 return db_fetch($result);
103 function get_branch_accounts($branch_id)
105 $sql = "SELECT receivables_account,sales_account, sales_discount_account, payment_discount_account
106 FROM ".TB_PREF."cust_branch WHERE branch_code=".db_escape($branch_id);
108 $result = db_query($sql, "Cannot retreive a customer branch");
110 return db_fetch($result);
113 function get_branch_name($branch_id)
115 $sql = "SELECT br_name FROM ".TB_PREF."cust_branch
116 WHERE branch_code = ".db_escape($branch_id);
118 $result = db_query($sql,"could not retreive name for branch" . $branch_id);
120 $myrow = db_fetch_row($result);
124 function get_cust_branches_from_group($group_no)
126 $sql = "SELECT branch_code, debtor_no FROM ".TB_PREF."cust_branch
127 WHERE group_no = ".db_escape($group_no);
129 return db_query($sql,"could not retreive branches for group " . $group_no);
132 function get_default_info_for_branch($customer_id)
134 $sql = "SELECT name, address, debtor_ref
135 FROM ".TB_PREF."debtors_master WHERE debtor_no = ".db_escape($customer_id);
136 $result = db_query($sql,"check failed");
137 return db_fetch($result);
140 function get_sql_for_customer_branches()
146 ."p.name as contact_name, "
152 ."t.name AS tax_group_name, "
154 FROM ".TB_PREF."cust_branch b "
155 . "LEFT JOIN ".TB_PREF."crm_contacts c
156 ON c.entity_id=b.branch_code AND c.type='cust_branch' AND c.action='general'
157 LEFT JOIN ".TB_PREF."crm_persons p on c.person_id=p.id,"
159 .TB_PREF."salesman s, "
160 .TB_PREF."tax_groups t
161 WHERE b.tax_group_id=t.id
162 AND b.area=a.area_code
163 AND b.salesman=s.salesman_code
164 AND b.debtor_no = ".db_escape($_POST['customer_id']);
166 if (!get_post('show_inactive')) $sql .= " AND !b.inactive";
167 $sql .= " ORDER BY branch_ref";
172 function get_branch_contacts($branch_code, $action=null, $customer_id=null)
175 $ret = get_crm_persons('cust_branch', $action, $branch_code);
176 if ($customer_id && !db_num_rows($ret)) {
177 $ret = get_crm_persons('customer', $action, $customer_id);
181 $sql = "SELECT p.*, r.action, r.type FROM ".TB_PREF."crm_persons p,"
182 .TB_PREF."crm_contacts r WHERE r.person_id=p.id AND r.type='cust_branch'
183 AND r.entity_id=".db_escape($branch_code);
186 $sql .= ' AND r.action='.db_escape($action);
188 $sql .= " GROUP BY person_id";
191 $sql = "($sql) UNION (SELECT p.*, r.action, r.type FROM ".TB_PREF."crm_persons p,"
192 .TB_PREF."crm_contacts r WHERE r.person_id=p.id AND r.type='customer'
193 AND r.entity_id=".db_escape($customer_id);
195 $sql .= ' AND r.action='.db_escape($action);
196 $sql .= " GROUP BY person_id)";
199 $res = db_query($sql, "can't retrieve branch contacts");
202 while($contact = db_fetch($res)) {
203 if ($type && $type != $contact['type']) break;
204 $results[] = $contact;
205 $type = $contact['type'];