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 ***********************************************************************/
14 include_once($path_to_root . "/includes/session.inc");
16 include_once($path_to_root . "/includes/date_functions.inc");
17 include_once($path_to_root . "/includes/manufacturing.inc");
18 include_once($path_to_root . "/includes/data_checks.inc");
20 include_once($path_to_root . "/dimensions/includes/dimensions_db.inc");
21 include_once($path_to_root . "/dimensions/includes/dimensions_ui.inc");
25 $js .= get_js_date_picker();
26 page(_("Dimension Entry"), false, false, "", $js);
28 //---------------------------------------------------------------------------------------
30 if (isset($_GET['trans_no']))
32 $selected_id = $_GET['trans_no'];
34 elseif(isset($_POST['selected_id']))
36 $selected_id = $_POST['selected_id'];
40 //---------------------------------------------------------------------------------------
42 if (isset($_GET['AddedID']))
44 $id = $_GET['AddedID'];
46 display_notification_centered(_("The dimension has been entered."));
51 //---------------------------------------------------------------------------------------
53 if (isset($_GET['UpdatedID']))
55 $id = $_GET['UpdatedID'];
57 display_notification_centered(_("The dimension has been updated."));
61 //---------------------------------------------------------------------------------------
63 if (isset($_GET['DeletedID']))
65 $id = $_GET['DeletedID'];
67 display_notification_centered(_("The dimension has been deleted."));
71 //---------------------------------------------------------------------------------------
73 if (isset($_GET['ClosedID']))
75 $id = $_GET['ClosedID'];
77 display_notification_centered(_("The dimension has been closed. There can be no more changes to it.") . " #$id");
81 //-------------------------------------------------------------------------------------------------
87 hyperlink_no_params("", _("Enter a &new dimension"));
89 hyperlink_no_params($path_to_root . "/dimensions/inquiry/search_dimensions.php", _("&Select an existing dimension"));
91 display_footer_exit();
94 //-------------------------------------------------------------------------------------
96 function can_process()
100 if ($selected_id == -1)
103 if (!references::is_valid($_POST['ref']))
105 display_error( _("The dimension reference must be entered."));
110 if (!is_new_reference($_POST['ref'], systypes::dimension()))
112 display_error(_("The entered reference is already in use."));
118 if (strlen($_POST['name']) == 0)
120 display_error( _("The dimension name must be entered."));
125 if (!is_date($_POST['date_']))
127 display_error( _("The date entered is in an invalid format."));
132 if (!is_date($_POST['due_date']))
134 display_error( _("The required by date entered is in an invalid format."));
135 set_focus('due_date');
142 //-------------------------------------------------------------------------------------
144 if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM']))
150 if ($selected_id == -1)
153 $id = add_dimension($_POST['ref'], $_POST['name'], $_POST['type_'], $_POST['date_'], $_POST['due_date'], $_POST['memo_']);
155 meta_forward($_SERVER['PHP_SELF'], "AddedID=$id");
160 update_dimension($selected_id, $_POST['name'], $_POST['type_'], $_POST['date_'], $_POST['due_date'], $_POST['memo_']);
162 meta_forward($_SERVER['PHP_SELF'], "UpdatedID=$selected_id");
167 //--------------------------------------------------------------------------------------
169 if (isset($_POST['delete']))
172 $cancel_delete = false;
174 // can't delete it there are productions or issues
175 if (dimension_has_payments($selected_id) || dimension_has_deposits($selected_id))
177 display_error(_("This dimension cannot be deleted because it has already been processed."));
179 $cancel_delete = true;
182 if ($cancel_delete == false)
183 { //ie not cancelled the delete as a result of above tests
186 delete_dimension($selected_id);
187 meta_forward($_SERVER['PHP_SELF'], "DeletedID=$selected_id");
191 //-------------------------------------------------------------------------------------
193 if (isset($_POST['close']))
196 // update the closed flag
197 close_dimension($selected_id);
198 meta_forward($_SERVER['PHP_SELF'], "ClosedID=$selected_id");
201 //-------------------------------------------------------------------------------------
205 start_table($table_style2);
207 if ($selected_id != -1)
209 $myrow = get_dimension($selected_id);
211 if (strlen($myrow[0]) == 0)
213 display_error(_("The dimension sent is not valid."));
214 display_footer_exit();
217 // if it's a closed dimension can't edit it
218 if ($myrow["closed"] == 1)
220 display_error(_("This dimension is closed and cannot be edited."));
221 display_footer_exit();
224 $_POST['ref'] = $myrow["reference"];
225 $_POST['closed'] = $myrow["closed"];
226 $_POST['name'] = $myrow["name"];
227 $_POST['type_'] = $myrow["type_"];
228 $_POST['date_'] = sql2date($myrow["date_"]);
229 $_POST['due_date'] = sql2date($myrow["due_date"]);
230 $_POST['memo_'] = get_comments_string(systypes::dimension(), $selected_id);
232 hidden('ref', $_POST['ref']);
234 label_row(_("Dimension Reference:"), $_POST['ref']);
236 hidden('selected_id', $selected_id);
240 ref_row(_("Dimension Reference:"), 'ref', '', references::get_next(systypes::dimension()));
243 text_row_ex(_("Name") . ":", 'name', 50, 75);
245 $dim = get_company_pref('use_dimension');
247 number_list_row(_("Type"), 'type_', null, 1, $dim);
249 date_row(_("Start Date") . ":", 'date_');
251 date_row(_("Date Required By") . ":", 'due_date', '', null, sys_prefs::default_dimension_required_by());
253 textarea_row(_("Memo:"), 'memo_', null, 40, 5);
257 if ($selected_id != -1)
260 submit_center_first('UPDATE_ITEM', _("Update"), _('Save changes to dimension'), true);
261 submit('close', _("Close This Dimension"), true, _('Mark this dimension as closed'), true);
262 submit_center_last('delete', _("Delete This Dimension"), _('Delete unused dimension'), true);
266 submit_center('ADD_ITEM', _("Add"), true, '', true);
270 //--------------------------------------------------------------------------------------------