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