X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=gl%2Fmanage%2Fgl_account_types.php;h=04f80c62305784dd4b954488eef35fb5792ee112;hb=6ae59a0b8741ce89f30b64c2d0f376835eb0a778;hp=6fbb9df59a0c3c64a36f13d0d1d011df3baae3a1;hpb=ee7852fefd8a0f5f47f7a3930cc6c35c4b4582ad;p=fa-stable.git diff --git a/gl/manage/gl_account_types.php b/gl/manage/gl_account_types.php index 6fbb9df5..04f80c62 100644 --- a/gl/manage/gl_account_types.php +++ b/gl/manage/gl_account_types.php @@ -22,24 +22,30 @@ include($path_to_root . "/includes/ui.inc"); simple_page_mode(false); //----------------------------------------------------------------------------------- -function can_process() +function can_process($selected_id) { - global $selected_id; - - /*if (!input_num('id')) + if (strlen(trim($_POST['id'])) == 0) { - display_error( _("The account id must be an integer and cannot be empty.")); + display_error( _("The account group id cannot be empty.")); set_focus('id'); return false; - }*/ - if (strlen($_POST['name']) == 0) + } + 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 (strcmp($_POST['id'], $_POST['parent']) == 0) + if ($_POST['id'] === $_POST['parent']) { display_error(_("You cannot set an account group to be a subgroup of itself.")); return false; @@ -53,7 +59,7 @@ function can_process() if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { - if (can_process()) + if (can_process($selected_id)) { if ($selected_id != "") @@ -65,27 +71,26 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') { if (add_account_type($_POST['id'], $_POST['name'], $_POST['class_id'], $_POST['parent'])) { display_notification(_('New account type has been added')); - $Mode = 'RESET'; } } + $Mode = 'RESET'; } } //----------------------------------------------------------------------------------- -function can_delete($selected_id) +function can_delete($type) { - if ($selected_id == "") + if ($type == "") return false; - $type = db_escape($selected_id); - if (key_in_foreign_table($type, 'chart_master', 'account_type', true)) + 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; } - if (key_in_foreign_table($type, 'chart_types', 'parent', true)) + 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; @@ -119,8 +124,8 @@ if ($Mode == 'RESET') $result = get_account_types(check_value('show_inactive')); start_form(); -start_table($table_style); -$th = array(_("Group ID"), _("Group Name"), _("Subgroup Of"), _("Class Type"), "", ""); +start_table(TABLESTYLE); +$th = array(_("Group ID"), _("Group Name"), _("Subgroup Of"), _("Class"), "", ""); inactive_control_column($th); table_header($th); @@ -155,7 +160,7 @@ inactive_control_row($th); end_table(1); //----------------------------------------------------------------------------------- -start_table($table_style2); +start_table(TABLESTYLE2); if ($selected_id != "") { @@ -170,21 +175,25 @@ if ($selected_id != "") if ($_POST['parent'] == '-1') $_POST['parent'] == ""; $_POST['class_id'] = $myrow["class_id"]; - hidden('selected_id', $selected_id); + hidden('selected_id', $myrow['id']); hidden('old_id', $myrow["id"]); } - hidden('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 == -1, '', 'both'); +submit_add_or_update_center($selected_id == "", '', 'both'); end_form(); @@ -192,4 +201,3 @@ end_form(); end_page(); -?>