create ADMIN role in correct order
authorSteve Hackbarth <stephenhackbarth@gmail.com>
Thu, 3 Jul 2014 15:34:09 +0000 (11:34 -0400)
committerSteve Hackbarth <stephenhackbarth@gmail.com>
Thu, 3 Jul 2014 15:34:09 +0000 (11:34 -0400)
enyo-client/database/source/add_admin_role.sql [new file with mode: 0644]
enyo-client/database/source/grant_roles.sql
enyo-client/database/source/manifest.js
enyo-client/database/source/xt/functions/grant_role_priv.sql

diff --git a/enyo-client/database/source/add_admin_role.sql b/enyo-client/database/source/add_admin_role.sql
new file mode 100644 (file)
index 0000000..9f2f57d
--- /dev/null
@@ -0,0 +1,2 @@
+-- Add 'ADMIN' Role.
+select xt.add_role('ADMIN', 'Administrators Role');
index 4c3e870..f164a8c 100644 (file)
@@ -1,7 +1,2 @@
--- Setup default 'ADMIN' role and grant it to 'admin' user it it doesn't exist.
-
--- Add 'ADMIN' Role.
-select xt.add_role('ADMIN', 'Administrators Role');
-
 -- Grant 'admin' user 'ADMIN' Role.
 select xt.grant_user_role('admin', 'ADMIN');
index d76a799..57d0a90 100644 (file)
@@ -59,6 +59,7 @@
     "xt/functions/add_priv.sql",
     "public/tables/priv.sql",
     "xt/functions/add_role.sql",
+    "add_admin_role.sql",
     "xt/functions/add_report_definition.sql",
     "xt/functions/average_cost.sql",
     "xt/functions/change_password.sql",
index cd96e55..87037d2 100644 (file)
@@ -6,15 +6,18 @@ create or replace function xt.grant_role_priv(role_name text, priv_module text,
     sqlInsert = "insert into public.grppriv (grppriv_grp_id, grppriv_priv_id) values ($1, $2);",
     sqlRoleId = "select grp_id from public.grp where grp_name = $1;",
     sqlPrivId = "select priv_id from public.priv where priv_module = $1 and priv_name = $2;",
-    roleId = plv8.execute(sqlRoleId, [role_name.toUpperCase()])[0].grp_id,
-    privId = plv8.execute(sqlPrivId, [priv_module, priv_name])[0].priv_id,
+    roleId = plv8.execute(sqlRoleId, [role_name.toUpperCase()])[0],
+    privId = plv8.execute(sqlPrivId, [priv_module, priv_name])[0],
     count;
 
   if (!roleId || !privId) {
-    plv8.elog(WARNING, "Cannot grant Role: ", role_name, " Privilege: ", priv_name, ". The Role or Privilege has not been created yet.");
-
+    plv8.elog(WARNING, "Cannot grant Role: ", role_name, " Privilege: ", 
+      priv_name, ". The Role or Privilege has not been created yet.");
     return false;
+
   } else {
+    roleId = roleId.grp_id;
+    privId = privId.priv_id;
     count = plv8.execute(sqlCount, [roleId, privId])[0].count;
   }