195a1a5bc24c7b7c422c61f041b8d3e094417436
[fa-stable.git] / sales / manage / sales_types.php
1 <?php
2
3 $page_security = 14;
4 $path_to_root="../..";
5 include($path_to_root . "/includes/session.inc");
6
7 page(_("Sales Types"));
8
9 include($path_to_root . "/includes/ui.inc");
10 include($path_to_root . "/sales/includes/db/sales_types_db.inc");
11
12 if (isset($_POST['selected_id']))
13 {
14         $selected_id = $_POST['selected_id'];
15
16 elseif (isset($_GET['selected_id']))
17 {
18         $selected_id = $_GET['selected_id'];
19 }
20 else
21         $selected_id = -1;
22
23 //----------------------------------------------------------------------------------------------------
24
25 function can_process() 
26 {
27         if (strlen($_POST['sales_type']) == 0) 
28         {
29                 display_error(_("The sales type description cannot be empty."));
30                 return false;
31         } 
32         return true;
33 }
34
35 //----------------------------------------------------------------------------------------------------
36
37 if (isset($_POST['ADD_ITEM']) && can_process()) 
38 {
39         add_sales_type($_POST['sales_type'], isset($_POST['tax_included']) ? 1:0, 
40             $_POST['factor']);
41         meta_forward($_SERVER['PHP_SELF']);     
42 }
43
44 //----------------------------------------------------------------------------------------------------
45
46 if (isset($_POST['UPDATE_ITEM']) && can_process()) 
47 {
48
49         update_sales_type($selected_id, $_POST['sales_type'], isset($_POST['tax_included']) ? 1:0,
50              $_POST['factor']);
51         meta_forward($_SERVER['PHP_SELF']);     
52
53
54 //----------------------------------------------------------------------------------------------------
55
56 if (isset($_GET['delete'])) 
57 {
58         // PREVENT DELETES IF DEPENDENT RECORDS IN 'debtor_trans'
59
60         $sql= "SELECT COUNT(*) FROM ".TB_PREF."debtor_trans WHERE tpe='$selected_id'";
61         $result = db_query($sql,"check failed");
62         check_db_error("The number of transactions using this Sales type record could not be retrieved", $sql);
63
64         $myrow = db_fetch_row($result);
65         if ($myrow[0] > 0) 
66         {
67                 display_error(_("Cannot delete this sale type because customer transactions have been created using this sales type."));
68
69         } 
70         else 
71         {
72
73                 $sql = "SELECT COUNT(*) FROM ".TB_PREF."debtors_master WHERE sales_type='$selected_id'";
74                 $result = db_query($sql,"check failed");
75                 check_db_error("The number of customers using this Sales type record could not be retrieved", $sql);
76                                         
77                 $myrow = db_fetch_row($result);
78                 if ($myrow[0] > 0) 
79                 {
80                         display_error(_("Cannot delete this sale type because customers are currently set up to use this sales type."));
81                 } 
82                 else 
83                 {
84                         delete_sales_type($selected_id);
85                         meta_forward($_SERVER['PHP_SELF']);                               
86                 }
87         } //end if sales type used in debtor transactions or in customers set up
88 }
89
90 //----------------------------------------------------------------------------------------------------
91
92 $result = get_all_sales_types();
93
94 start_table("$table_style width=30%");
95
96 $th = array (_('Type Name'), _('Factor'), _('Tax Incl'), '','');
97 table_header($th);
98 $k = 0;
99 $base_sales = get_base_sales_type();
100
101 while ($myrow = db_fetch($result)) 
102 {
103         if ($myrow["id"] == $base_sales)
104             start_row("class='overduebg'");
105         else
106             alt_table_row_color($k);
107         label_cell($myrow["sales_type"]);
108         $f = number_format2($myrow["factor"],4);
109         if($myrow["id"] == $base_sales) $f = "<I>"._('Base')."</I>";
110         label_cell($f); 
111         label_cell($myrow["tax_included"] ? _('Yes'):_('No'), 'align=center');  
112         edit_link_cell("selected_id=".$myrow["id"]);
113         delete_link_cell("selected_id=".$myrow["id"]."&delete=1");
114         end_row();
115 }
116
117 end_table();
118 display_note(_("Marked sales type is the company base pricelist for prices calculations."), 0, 0, "class='overduefg'");
119
120 //----------------------------------------------------------------------------------------------------
121
122 hyperlink_no_params($_SERVER['PHP_SELF'], _("New Sales type"));
123
124 start_form();
125  if (!isset($_POST['tax_included']))
126         $_POST['tax_included'] = 0;
127  if (!isset($_POST['base']))
128         $_POST['base'] = 0;
129
130 start_table("$table_style2 width=30%");
131
132 if ($selected_id != -1) 
133 {
134
135         $myrow = get_sales_type($selected_id);
136         
137         $_POST['sales_type']  = $myrow["sales_type"];
138         $_POST['tax_included']  = $myrow["tax_included"];
139         $_POST['factor']  = number_format2($myrow["factor"],4);
140         
141         hidden('selected_id', $selected_id);
142
143
144 text_row_ex(_("Sales Type Name").':', 'sales_type', 20);
145 amount_row(_("Calculation factor").':', 'factor');
146 check_row(_("Tax included").':', 'tax_included', $_POST['tax_included']);
147
148 end_table(1);
149
150 submit_add_or_update_center($selected_id == -1);
151
152 end_form();
153
154 end_page();
155
156 ?>