Extended account id's to 15 chars. Changed account type to varchar(10)
[fa-stable.git] / gl / manage / gl_account_types.php
index 128438433276e087f16fd4f1495e01dbbfac17c7..ef8207b1728afe9d969e19727afa7c8ec9d3c997 100644 (file)
@@ -13,7 +13,7 @@ $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");
 
@@ -58,15 +58,16 @@ if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
 
        if ($selected_id != -1) 
        {
-               update_account_type($selected_id, $_POST['name'], $_POST['class_id'], $_POST['parent']);
-                       display_notification(_('Selected account type has been updated'));
+               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['id'], $_POST['name'], $_POST['class_id'], $_POST['parent']);
-                       display_notification(_('New account type has been added'));
+               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';
        }
 }
 
@@ -76,21 +77,15 @@ function can_delete($selected_id)
 {
        if ($selected_id == -1)
                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) 
+       $type = db_escape($selected_id);
+
+       if (key_in_foreign_table($type, 'chart_master', 'account_type', true))
        {
                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', true))
        {
                display_error(_("Cannot delete this account group because GL account groups have been created referring to it."));
                return false;
@@ -108,7 +103,7 @@ if ($Mode == 'Delete')
        if (can_delete($selected_id))
        {
                delete_account_type($selected_id);
-               display_notification(_('Selected currency has been deleted'));
+               display_notification(_('Selected account group has been deleted'));
        }
        $Mode = 'RESET';
 }
@@ -174,12 +169,13 @@ if ($selected_id != -1)
                $_POST['parent']  = $myrow["parent"];
                $_POST['class_id']  = $myrow["class_id"];
                hidden('selected_id', $selected_id);
+               hidden('old_id', $myrow["id"]);
        }
        hidden('id');
-       label_row(_("ID:"), $_POST['id']);
+       text_row_ex(_("ID:"), 'id', 10);
 }
 else
-       text_row_ex(_("ID:"), 'id', 4);
+       text_row_ex(_("ID:"), 'id', 10);
 text_row_ex(_("Name:"), 'name', 50);
 
 gl_account_types_list_row(_("Subgroup Of:"), 'parent', null, _("None"), true);