X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=inventory%2Fmanage%2Flocations.php;h=6dae2fa31828ffe9b5307e449521cf041bd59deb;hb=dc98038dfc9d5a6d54ffe6566bc566a433e59ccb;hp=4b6d291c5333100adfca23f77d1af4c8a0123d53;hpb=c09be0dad6b05131e240349a375af7a4b7bf3444;p=fa-stable.git diff --git a/inventory/manage/locations.php b/inventory/manage/locations.php index 4b6d291c..6dae2fa3 100644 --- a/inventory/manage/locations.php +++ b/inventory/manage/locations.php @@ -1,10 +1,19 @@ . +***********************************************************************/ +$page_security = 'SA_INVENTORYLOCATION'; +$path_to_root = "../.."; include($path_to_root . "/includes/session.inc"); -page(_("Inventory Locations")); +page(_($help_context = "Inventory Locations")); include_once($path_to_root . "/includes/ui.inc"); @@ -24,10 +33,10 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') //first off validate inputs sensible $_POST['loc_code'] = strtoupper($_POST['loc_code']); - if (strlen($_POST['loc_code']) > 5) + if (strlen(db_escape($_POST['loc_code'])) > 7) //check length after conversion { $input_error = 1; - display_error( _("The location code must be five characters or less long.")); + display_error( _("The location code must be five characters or less long (including converted special chars).")); set_focus('loc_code'); } elseif (strlen($_POST['location_name']) == 0) @@ -43,7 +52,7 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { update_item_location($selected_id, $_POST['location_name'], $_POST['delivery_address'], - $_POST['phone'], $_POST['fax'], $_POST['email'], $_POST['contact']); + $_POST['phone'], $_POST['phone2'], $_POST['fax'], $_POST['email'], $_POST['contact']); display_notification(_('Selected location has been updated')); } else @@ -52,7 +61,7 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') /*selected_id is null cos no item selected on first time round so must be adding a record must be submitting new entries in the new Location form */ add_item_location($_POST['loc_code'], $_POST['location_name'], $_POST['delivery_address'], - $_POST['phone'], $_POST['fax'], $_POST['email'], $_POST['contact']); + $_POST['phone'], $_POST['phone2'], $_POST['fax'], $_POST['email'], $_POST['contact']); display_notification(_('New location has been added')); } @@ -62,7 +71,7 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') function can_delete($selected_id) { - $sql= "SELECT COUNT(*) FROM ".TB_PREF."stock_moves WHERE loc_code='$selected_id'"; + $sql= "SELECT COUNT(*) FROM ".TB_PREF."stock_moves WHERE loc_code=".db_escape($selected_id); $result = db_query($sql, "could not query stock moves"); $myrow = db_fetch_row($result); if ($myrow[0] > 0) @@ -71,7 +80,7 @@ function can_delete($selected_id) return false; } - $sql= "SELECT COUNT(*) FROM ".TB_PREF."workorders WHERE loc_code='$selected_id'"; + $sql= "SELECT COUNT(*) FROM ".TB_PREF."workorders WHERE loc_code=".db_escape($selected_id); $result = db_query($sql, "could not query work orders"); $myrow = db_fetch_row($result); if ($myrow[0] > 0) @@ -89,6 +98,46 @@ function can_delete($selected_id) return false; } + $sql= "SELECT COUNT(*) FROM ".TB_PREF."bom WHERE loc_code=".db_escape($selected_id); + $result = db_query($sql, "could not query bom"); + $myrow = db_fetch_row($result); + if ($myrow[0] > 0) + { + display_error(_("Cannot delete this location because it is used by some related records in other tables.")); + return false; + } + $sql= "SELECT COUNT(*) FROM ".TB_PREF."grn_batch WHERE loc_code=".db_escape($selected_id); + $result = db_query($sql, "could not query grn batch"); + $myrow = db_fetch_row($result); + if ($myrow[0] > 0) + { + display_error(_("Cannot delete this location because it is used by some related records in other tables.")); + return false; + } + $sql= "SELECT COUNT(*) FROM ".TB_PREF."purch_orders WHERE into_stock_location=".db_escape($selected_id); + $result = db_query($sql, "could not query purch orders"); + $myrow = db_fetch_row($result); + if ($myrow[0] > 0) + { + display_error(_("Cannot delete this location because it is used by some related records in other tables.")); + return false; + } + $sql= "SELECT COUNT(*) FROM ".TB_PREF."sales_orders WHERE from_stk_loc=".db_escape($selected_id); + $result = db_query($sql, "could not query sales orders"); + $myrow = db_fetch_row($result); + if ($myrow[0] > 0) + { + display_error(_("Cannot delete this location because it is used by some related records in other tables.")); + return false; + } + $sql= "SELECT COUNT(*) FROM ".TB_PREF."sales_pos WHERE pos_location=".db_escape($selected_id); + $result = db_query($sql, "could not query sales pos"); + $myrow = db_fetch_row($result); + if ($myrow[0] > 0) + { + display_error(_("Cannot delete this location because it is used by some related records in other tables.")); + return false; + } return true; } @@ -108,41 +157,45 @@ if ($Mode == 'Delete') if ($Mode == 'RESET') { $selected_id = -1; + $sav = get_post('show_inactive'); unset($_POST); + $_POST['show_inactive'] = $sav; } $sql = "SELECT * FROM ".TB_PREF."locations"; +if (!check_value('show_inactive')) $sql .= " WHERE !inactive"; $result = db_query($sql, "could not query locations");; start_form(); -start_table("$table_style width=30%"); -$th = array(_("Location Code"), _("Location Name"), "", ""); +start_table($table_style); +$th = array(_("Location Code"), _("Location Name"), _("Address"), _("Phone"), _("Secondary Phone"), "", ""); +inactive_control_column($th); table_header($th); $k = 0; //row colour counter -while ($myrow = db_fetch_row($result)) +while ($myrow = db_fetch($result)) { alt_table_row_color($k); - label_cell($myrow[0]); - label_cell($myrow[1]); - edit_button_cell("Edit".$myrow[0], _("Edit")); - edit_button_cell("Delete".$myrow[0], _("Delete")); + label_cell($myrow["loc_code"]); + label_cell($myrow["location_name"]); + label_cell($myrow["delivery_address"]); + label_cell($myrow["phone"]); + label_cell($myrow["phone2"]); + inactive_control_cell($myrow["loc_code"], $myrow["inactive"], 'locations', 'loc_code'); + edit_button_cell("Edit".$myrow["loc_code"], _("Edit")); + delete_button_cell("Delete".$myrow["loc_code"], _("Delete")); end_row(); } //END WHILE LIST LOOP - -//end of ifs and buts! - +inactive_control_row($th); end_table(); -end_form(); echo '
'; -start_form(); - start_table($table_style2); +$_POST['email'] = ""; if ($selected_id != -1) { //editing an existing Location @@ -155,6 +208,7 @@ if ($selected_id != -1) $_POST['delivery_address'] = $myrow["delivery_address"]; $_POST['contact'] = $myrow["contact"]; $_POST['phone'] = $myrow["phone"]; + $_POST['phone2'] = $myrow["phone2"]; $_POST['fax'] = $myrow["fax"]; $_POST['email'] = $myrow["email"]; } @@ -172,12 +226,13 @@ text_row_ex(_("Contact for deliveries:"), 'contact', 30, 30); textarea_row(_("Address:"), 'delivery_address', null, 35, 5); -text_row_ex(_("Telephone No:"), 'phone', 30, 30); -text_row_ex(_("Facsimile No:"), 'fax', 30, 30); -text_row_ex(_("Email:"), 'email', 30, 30); +text_row_ex(_("Telephone No:"), 'phone', 32, 30); +text_row_ex(_("Secondary Phone Number:"), 'phone2', 32, 30); +text_row_ex(_("Facsimile No:"), 'fax', 32, 30); +email_row_ex(_("E-mail:"), 'email', 30); end_table(1); -submit_add_or_update_center($selected_id == -1, '', true); +submit_add_or_update_center($selected_id == -1, '', 'both'); end_form();