Removed redundant form_types functions and the file /reporting/includes/form_types...
[fa-stable.git] / dimensions / dimension_entry.php
1 <?php
2
3
4 $page_security = 10;
5 $path_to_root="..";
6 include_once($path_to_root . "/includes/session.inc");
7
8 include_once($path_to_root . "/includes/date_functions.inc");
9 include_once($path_to_root . "/includes/manufacturing.inc");
10 include_once($path_to_root . "/includes/data_checks.inc");
11
12 include_once($path_to_root . "/dimensions/includes/dimensions_db.inc");
13 include_once($path_to_root . "/dimensions/includes/dimensions_ui.inc");
14
15 $js = "";
16 if ($use_date_picker)
17         $js .= get_js_date_picker();
18 page(_("Dimension Entry"), false, false, "", $js);
19
20 //---------------------------------------------------------------------------------------
21
22 if (isset($_GET['trans_no']))
23 {
24         $selected_id = $_GET['trans_no'];
25
26 elseif(isset($_POST['selected_id']))
27 {
28         $selected_id = $_POST['selected_id'];
29 }
30 else
31         $selected_id = -1;
32 //---------------------------------------------------------------------------------------
33
34 if (isset($_GET['AddedID'])) 
35 {
36         $id = $_GET['AddedID'];
37
38         display_notification_centered(_("The dimension has been entered."));
39
40         safe_exit();
41 }
42
43 //---------------------------------------------------------------------------------------
44
45 if (isset($_GET['UpdatedID'])) 
46 {
47         $id = $_GET['UpdatedID'];
48
49         display_notification_centered(_("The dimension has been updated."));
50         safe_exit();
51 }
52
53 //---------------------------------------------------------------------------------------
54
55 if (isset($_GET['DeletedID'])) 
56 {
57         $id = $_GET['DeletedID'];
58
59         display_notification_centered(_("The dimension has been deleted."));
60         safe_exit();
61 }
62
63 //---------------------------------------------------------------------------------------
64
65 if (isset($_GET['ClosedID'])) 
66 {
67         $id = $_GET['ClosedID'];
68
69         display_notification_centered(_("The dimension has been closed. There can be no more changes to it.") . " #$id");
70         safe_exit();
71 }
72
73 //-------------------------------------------------------------------------------------------------
74
75 function safe_exit()
76 {
77         global $path_to_root;
78
79         hyperlink_no_params("", _("Enter a new dimension"));
80         echo "<br>";
81         hyperlink_no_params($path_to_root . "/dimensions/inquiry/search_dimensions.php", _("Select an existing dimension"));
82         echo "<br><br>";
83
84         end_page();
85
86         exit;
87 }
88
89 //-------------------------------------------------------------------------------------
90
91 function can_process()
92 {
93         global $selected_id;
94
95         if ($selected_id == -1) 
96         {
97
98         if (!references::is_valid($_POST['ref'])) 
99         {
100                 display_error( _("The dimension reference must be entered."));
101                 return false;
102         }
103
104         if (!is_new_reference($_POST['ref'], systypes::dimension())) 
105         {
106                 display_error(_("The entered reference is already in use."));
107                 return false;
108         }
109         }
110
111         if (strlen($_POST['name']) == 0) 
112         {
113                 display_error( _("The dimension name must be entered."));
114                 return false;
115         }
116
117         if (!is_date($_POST['date_']))
118         {
119                 display_error( _("The date entered is in an invalid format."));
120                 return false;
121         }
122
123         if (!is_date($_POST['due_date']))
124         {
125                 display_error( _("The required by date entered is in an invalid format."));
126                 return false;
127         }
128
129         return true;
130 }
131
132 //-------------------------------------------------------------------------------------
133
134 if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) 
135 {
136
137         if (can_process()) 
138         {
139
140                 if ($selected_id == -1) 
141                 {
142
143                         $id = add_dimension($_POST['ref'], $_POST['name'], $_POST['type_'], $_POST['date_'], $_POST['due_date'], $_POST['memo_']);
144
145                         meta_forward($_SERVER['PHP_SELF'], "AddedID=$id");
146                 } 
147                 else 
148                 {
149
150                         update_dimension($selected_id, $_POST['name'], $_POST['type_'], $_POST['date_'], $_POST['due_date'], $_POST['memo_']);
151
152                         meta_forward($_SERVER['PHP_SELF'], "UpdatedID=$selected_id");
153                 }
154         }
155 }
156
157 //--------------------------------------------------------------------------------------
158
159 if (isset($_POST['delete'])) 
160 {
161
162         $cancel_delete = false;
163
164         // can't delete it there are productions or issues
165         if (dimension_has_payments($selected_id) || dimension_has_deposits($selected_id))
166         {
167                 display_error(_("This dimension cannot be deleted because it has already been processed."));
168                 $cancel_delete = true;
169         }
170
171         if ($cancel_delete == false) 
172         { //ie not cancelled the delete as a result of above tests
173
174                 // delete
175                 delete_dimension($selected_id);
176                 meta_forward($_SERVER['PHP_SELF'], "DeletedID=$selected_id");
177         }
178 }
179
180 //-------------------------------------------------------------------------------------
181
182 if (isset($_POST['close'])) 
183 {
184
185         // update the closed flag
186         close_dimension($selected_id);
187         meta_forward($_SERVER['PHP_SELF'], "ClosedID=$selected_id");
188 }
189
190 //-------------------------------------------------------------------------------------
191
192 start_form();
193
194 start_table($table_style2);
195
196 if ($selected_id != -1)
197 {
198         $myrow = get_dimension($selected_id);
199
200         if (strlen($myrow[0]) == 0) 
201         {
202                 display_error(_("The dimension sent is not valid."));
203                 exit;
204         }
205
206         // if it's a closed dimension can't edit it
207         if ($myrow["closed"] == 1) 
208         {
209                 display_error(_("This dimension is closed and cannot be edited."));
210                 exit;
211         }
212
213         $_POST['ref'] = $myrow["reference"];
214         $_POST['closed'] = $myrow["closed"];
215         $_POST['name'] = $myrow["name"];
216         $_POST['type_'] = $myrow["type_"];
217         $_POST['date_'] = sql2date($myrow["date_"]);
218         $_POST['due_date'] = sql2date($myrow["due_date"]);
219         $_POST['memo_'] = get_comments_string(systypes::dimension(), $selected_id);
220
221         hidden('ref', $_POST['ref']);
222
223         label_row(_("Dimension Reference:"), $_POST['ref']);
224
225         hidden('selected_id', $selected_id);
226
227 else 
228 {
229         ref_row(_("Dimension Reference:"), 'ref', references::get_next(systypes::dimension()));
230 }
231
232 text_row_ex(_("Name") . ":", 'name', 50, 75);
233
234 $dim = get_company_pref('use_dimension');
235
236 number_list_row(_("Type"), 'type_', null, 1, $dim);
237
238 date_row(_("Start Date") . ":", 'date_');
239
240 date_row(_("Date Required By") . ":", 'due_date', null, sys_prefs::default_dimension_required_by());
241
242 textarea_row(_("Memo:"), 'memo_', null, 40, 5);
243
244 end_table(1);
245
246 submit_add_or_update_center($selected_id == -1);
247
248 if ($selected_id != -1) 
249 {
250         echo "<br>";
251
252         submit_center_first('close', _("Close This Dimension"));
253         submit_center_last('delete', _("Delete This Dimension"));
254 }
255
256 end_form();
257
258 //--------------------------------------------------------------------------------------------
259
260 end_page();
261
262 ?>