Fixed many issues in output HTML code according to HTML 4.01 Transitional format.
[fa-stable.git] / inventory / purchasing_data.php
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 $page_security = 'SA_PURCHASEPRICING';
13 if (!@$_GET['popup'])
14         $path_to_root = "..";
15 else    
16         $path_to_root = "../..";
17
18 include_once($path_to_root . "/includes/session.inc");
19 include_once($path_to_root . "/includes/date_functions.inc");
20 include_once($path_to_root . "/includes/ui.inc");
21 include_once($path_to_root . "/includes/manufacturing.inc");
22 include_once($path_to_root . "/includes/data_checks.inc");
23
24 if (!@$_GET['popup'])
25         page(_($help_context = "Supplier Purchasing Data"));
26
27 check_db_has_purchasable_items(_("There are no purchasable inventory items defined in the system."));
28 check_db_has_suppliers(_("There are no suppliers defined in the system."));
29
30 //----------------------------------------------------------------------------------------
31 simple_page_mode(true);
32 if (isset($_GET['stock_id']))
33 {
34         $_POST['stock_id'] = $_GET['stock_id'];
35 }
36
37 //--------------------------------------------------------------------------------------------------
38
39 if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
40 {
41
42         $input_error = 0;
43         if ($_POST['stock_id'] == "" || !isset($_POST['stock_id']))
44         {
45         $input_error = 1;
46         display_error( _("There is no item selected."));
47                 set_focus('stock_id');
48         }
49         elseif (!check_num('price', 0))
50         {
51         $input_error = 1;
52         display_error( _("The price entered was not numeric."));
53         set_focus('price');
54         }
55         elseif (!check_num('conversion_factor'))
56         {
57         $input_error = 1;
58         display_error( _("The conversion factor entered was not numeric. The conversion factor is the number by which the price must be divided by to get the unit price in our unit of measure."));
59                 set_focus('conversion_factor');
60         }
61         elseif ($Mode == 'ADD_ITEM' && get_item_purchasing_data($_POST['supplier_id'], $_POST['stock_id']))
62         {
63         $input_error = 1;
64         display_error( _("The purchasing data for this supplier has already been added."));
65                 set_focus('supplier_id');
66         }
67         if ($input_error == 0)
68         {
69         if ($Mode == 'ADD_ITEM') 
70         {
71                         add_item_purchasing_data($_POST['supplier_id'], $_POST['stock_id'], input_num('price',0),
72                                 $_POST['suppliers_uom'], input_num('conversion_factor'), $_POST['supplier_description']);
73                 display_notification(_("This supplier purchasing data has been added."));
74         } 
75         else
76         {
77                 update_item_purchasing_data($selected_id, $_POST['stock_id'], input_num('price',0),
78                         $_POST['suppliers_uom'], input_num('conversion_factor'), $_POST['supplier_description']);
79                 display_notification(_("Supplier purchasing data has been updated."));
80         }
81                 $Mode = 'RESET';
82         }
83 }
84
85 //--------------------------------------------------------------------------------------------------
86
87 if ($Mode == 'Delete')
88 {
89         delete_item_purchasing_data($selected_id, $_POST['stock_id']);
90         display_notification(_("The purchasing data item has been sucessfully deleted."));
91         $Mode = 'RESET';
92 }
93
94 if ($Mode == 'RESET')
95 {
96         $selected_id = -1;
97 }
98
99 if (isset($_POST['_selected_id_update']) )
100 {
101         $selected_id = $_POST['selected_id'];
102         $Ajax->activate('_page_body');
103 }
104
105 if (list_updated('stock_id')) 
106         $Ajax->activate('price_table');
107 //--------------------------------------------------------------------------------------------------
108
109 if (!@$_GET['popup'])
110         start_form();
111
112 if (!isset($_POST['stock_id']))
113         $_POST['stock_id'] = get_global_stock_item();
114
115 if (!@$_GET['popup'])
116 {
117         echo "<center>" . _("Item:"). "&nbsp;";
118         //Chaitanya : All items can be purchased
119         echo stock_items_list('stock_id', $_POST['stock_id'], false, true);
120         //echo stock_purchasable_items_list('stock_id', $_POST['stock_id'], false, true);
121         echo "<hr></center>";
122 }
123 else
124         br(2);
125
126 set_global_stock_item($_POST['stock_id']);
127
128 $mb_flag = get_mb_flag($_POST['stock_id']);
129
130 if ($mb_flag == -1)
131 {
132         display_error(_("Entered item is not defined. Please re-enter."));
133         set_focus('stock_id');
134 }
135 else
136 {
137         $result = get_items_purchasing_data($_POST['stock_id']);
138         div_start('price_table');
139     if (db_num_rows($result) == 0)
140     {
141         display_note(_("There is no purchasing data set up for the part selected"));
142     }
143     else
144     {
145         start_table(TABLESTYLE, "width='65%'");
146
147                 $th = array(_("Supplier"), _("Price"), _("Currency"),
148                         _("Supplier's Unit"), _("Conversion Factor"), _("Supplier's Description"), "", "");
149
150         table_header($th);
151
152         $k = $j = 0; //row colour counter
153
154         while ($myrow = db_fetch($result))
155         {
156                         alt_table_row_color($k);
157
158             label_cell($myrow["supp_name"]);
159             amount_decimal_cell($myrow["price"]);
160             label_cell($myrow["curr_code"]);
161             label_cell($myrow["suppliers_uom"]);
162             qty_cell($myrow['conversion_factor'], false, 'max');
163             label_cell($myrow["supplier_description"]);
164                         edit_button_cell("Edit".$myrow['supplier_id'], _("Edit"));
165                         delete_button_cell("Delete".$myrow['supplier_id'], _("Delete"));
166             end_row();
167
168             $j++;
169             If ($j == 12)
170             {
171                 $j = 1;
172                         table_header($th);
173             } //end of page full new headings
174         } //end of while loop
175
176         end_table();
177     }
178  div_end();
179 }
180
181 //-----------------------------------------------------------------------------------------------
182
183 $dec2 = 6;
184 if ($Mode =='Edit')
185 {
186         $myrow = get_item_purchasing_data($selected_id, $_POST['stock_id']);
187
188     $supp_name = $myrow["supp_name"];
189     $_POST['price'] = price_decimal_format($myrow["price"], $dec2);
190     $_POST['suppliers_uom'] = $myrow["suppliers_uom"];
191     $_POST['supplier_description'] = $myrow["supplier_description"];
192     $_POST['conversion_factor'] = maxprec_format($myrow["conversion_factor"]);
193 }
194
195 br();
196 hidden('selected_id', $selected_id);
197 if (@$_GET['popup'])
198 {
199         hidden('_tabs_sel', get_post('_tabs_sel'));
200         hidden('popup', @$_GET['popup']);
201 }
202
203 start_table(TABLESTYLE2);
204
205 if ($Mode == 'Edit')
206 {
207         hidden('supplier_id');
208         label_row(_("Supplier:"), $supp_name);
209 }
210 else
211 {
212         supplier_list_row(_("Supplier:"), 'supplier_id', null, false, true);
213         $_POST['price'] = $_POST['suppliers_uom'] = $_POST['conversion_factor'] = $_POST['supplier_description'] = "";
214 }
215 amount_row(_("Price:"), 'price', null,'', get_supplier_currency($selected_id), $dec2);
216 text_row(_("Suppliers Unit of Measure:"), 'suppliers_uom', null, 50, 51);
217
218 if (!isset($_POST['conversion_factor']) || $_POST['conversion_factor'] == "")
219 {
220         $_POST['conversion_factor'] = maxprec_format(1);
221 }
222 amount_row(_("Conversion Factor (to our UOM):"), 'conversion_factor',
223   maxprec_format($_POST['conversion_factor']), null, null, 'max');
224 text_row(_("Supplier's Code or Description:"), 'supplier_description', null, 50, 51);
225
226 end_table(1);
227
228 submit_add_or_update_center($selected_id == -1, '', 'both');
229
230 if (!@$_GET['popup'])
231 {
232         end_form();
233         end_page(@$_GET['popup'], false, false);
234 }
235 ?>