X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fgl_account_types.php;h=0a1791bc97efd5d18ef09d24c2a9202c9772243e;hb=ca4b0e00f434d0180fe3e3ec9fa3d31a278a9fef;hp=6426408f45c0d6da787a0c19628094d7076dcd5f;hpb=d67d5295b9342c011697ce4df325197e29898588;p=fa-stable.git diff --git a/gl/manage/gl_account_types.php b/gl/manage/gl_account_types.php index 6426408f..0a1791bc 100644 --- a/gl/manage/gl_account_types.php +++ b/gl/manage/gl_account_types.php @@ -1,39 +1,50 @@ . +***********************************************************************/ +$page_security = 'SA_GLACCOUNTGROUP'; +$path_to_root = "../.."; include($path_to_root . "/includes/session.inc"); -page(_("GL Account Groups")); +page(_($help_context = "GL Account Groups")); include($path_to_root . "/gl/includes/gl_db.inc"); include($path_to_root . "/includes/ui.inc"); -if (isset($_GET['selected_id'])) -{ - $selected_id = $_GET['selected_id']; -} -elseif(isset($_POST['selected_id'])) -{ - $selected_id = $_POST['selected_id']; -} -else - $selected_id = ""; +simple_page_mode(false); //----------------------------------------------------------------------------------- -function can_process() +function can_process($selected_id) { - global $selected_id; - - if (strlen($_POST['name']) == 0) + if (strlen(trim($_POST['id'])) == 0) + { + display_error( _("The account group id cannot be empty.")); + set_focus('id'); + return false; + } + if (strlen(trim($_POST['name'])) == 0) { display_error( _("The account group name cannot be empty.")); set_focus('name'); return false; } + $type = get_account_type(trim($_POST['id'])); + if ($type && ($type['id'] != $selected_id)) + { + display_error( _("This account group id is already in use.")); + set_focus('id'); + return false; + } - if (isset($selected_id) && ($selected_id == $_POST['parent'])) + if ($_POST['id'] === $_POST['parent']) { display_error(_("You cannot set an account group to be a subgroup of itself.")); return false; @@ -44,48 +55,41 @@ function can_process() //----------------------------------------------------------------------------------- -if (isset($_POST['ADD_ITEM']) || isset($_POST['UPDATE_ITEM'])) +if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { - if (can_process()) + if (can_process($selected_id)) { if ($selected_id != "") { - - update_account_type($selected_id, $_POST['name'], $_POST['class_id'], $_POST['parent']); - + if (update_account_type($_POST['id'], $_POST['name'], $_POST['class_id'], $_POST['parent'], $_POST['old_id'])) + display_notification(_('Selected account type has been updated')); } else { - - add_account_type($_POST['name'], $_POST['class_id'], $_POST['parent']); + if (add_account_type($_POST['id'], $_POST['name'], $_POST['class_id'], $_POST['parent'])) { + display_notification(_('New account type has been added')); + } } - meta_forward($_SERVER['PHP_SELF']); + $Mode = 'RESET'; } } //----------------------------------------------------------------------------------- -function can_delete($selected_id) +function can_delete($type) { - if ($selected_id == "") + if ($type == "") return false; - $sql= "SELECT COUNT(*) FROM ".TB_PREF."chart_master - WHERE account_type=$selected_id"; - $result = db_query($sql, "could not query chart master"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + + if (key_in_foreign_table($type, 'chart_master', 'account_type')) { display_error(_("Cannot delete this account group because GL accounts have been created referring to it.")); return false; } - $sql= "SELECT COUNT(*) FROM ".TB_PREF."chart_types - WHERE parent=$selected_id"; - $result = db_query($sql, "could not query chart types"); - $myrow = db_fetch_row($result); - if ($myrow[0] > 0) + if (key_in_foreign_table($type, 'chart_types', 'parent')) { display_error(_("Cannot delete this account group because GL account groups have been created referring to it.")); return false; @@ -97,22 +101,31 @@ function can_delete($selected_id) //----------------------------------------------------------------------------------- -if (isset($_GET['delete'])) +if ($Mode == 'Delete') { if (can_delete($selected_id)) { delete_account_type($selected_id); - meta_forward($_SERVER['PHP_SELF']); + display_notification(_('Selected account group has been deleted')); } + $Mode = 'RESET'; +} +if ($Mode == 'RESET') +{ + $selected_id = ""; + $_POST['id'] = $_POST['name'] = ''; + unset($_POST['parent']); + unset($_POST['class_id']); } - //----------------------------------------------------------------------------------- -$result = get_account_types(); +$result = get_account_types(check_value('show_inactive')); -start_table($table_style); -$th = array(_("Name"), _("Subgroup Of"), _("Class Type"), "", ""); +start_form(); +start_table(TABLESTYLE); +$th = array(_("Group ID"), _("Group Name"), _("Subgroup Of"), _("Class"), "", ""); +inactive_control_column($th); table_header($th); $k = 0; @@ -123,7 +136,7 @@ while ($myrow = db_fetch($result)) $bs_text = get_account_class_name($myrow["class_id"]); - if ($myrow["parent"] == reserved_words::get_any_numeric()) + if ($myrow["parent"] == '-1') { $parent_text = ""; } @@ -132,46 +145,54 @@ while ($myrow = db_fetch($result)) $parent_text = get_account_type_name($myrow["parent"]); } + label_cell($myrow["id"]); label_cell($myrow["name"]); label_cell($parent_text); label_cell($bs_text); - edit_link_cell("selected_id=" . $myrow["id"]); - delete_link_cell("selected_id=" . $myrow["id"]. "&delete=1"); + inactive_control_cell($myrow["id"], $myrow["inactive"], 'chart_types', 'id'); + edit_button_cell("Edit".$myrow["id"], _("Edit")); + delete_button_cell("Delete".$myrow["id"], _("Delete")); end_row(); } -end_table(); - +inactive_control_row($th); +end_table(1); //----------------------------------------------------------------------------------- -hyperlink_no_params($_SERVER['PHP_SELF'], _("New Account Group")); - -start_form(); - -start_table($table_style2); +start_table(TABLESTYLE2); -if ($selected_id != "") +if ($selected_id != "") { - //editing an existing status code - - $myrow = get_account_type($selected_id); - - $_POST['name'] = $myrow["name"]; - $_POST['parent'] = $myrow["parent"]; - $_POST['class_id'] = $myrow["class_id"]; - - hidden('selected_id', $selected_id); + if ($Mode == 'Edit') + { + //editing an existing status code + $myrow = get_account_type($selected_id); + + $_POST['id'] = $myrow["id"]; + $_POST['name'] = $myrow["name"]; + $_POST['parent'] = $myrow["parent"]; + if ($_POST['parent'] == '-1') + $_POST['parent'] == ""; + $_POST['class_id'] = $myrow["class_id"]; + hidden('selected_id', $myrow['id']); + hidden('old_id', $myrow["id"]); + } + else + { + hidden('selected_id', $selected_id); + hidden('old_id', $_POST["old_id"]); + } } - +text_row_ex(_("ID:"), 'id', 10); text_row_ex(_("Name:"), 'name', 50); gl_account_types_list_row(_("Subgroup Of:"), 'parent', null, _("None"), true); -class_list_row(_("Class Type:"), 'class_id', null); +class_list_row(_("Class:"), 'class_id', null); end_table(1); -submit_add_or_update_center($selected_id == ""); +submit_add_or_update_center($selected_id == "", '', 'both'); end_form(); @@ -179,4 +200,3 @@ end_form(); end_page(); -?>