about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--scripts/register_sys_admin.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/scripts/register_sys_admin.py b/scripts/register_sys_admin.py
index 7d4d667..78a0b33 100644
--- a/scripts/register_sys_admin.py
+++ b/scripts/register_sys_admin.py
@@ -61,8 +61,19 @@ def save_admin(conn: db.DbConnection, name: str, email: str, passwd: str):
         cursor.execute(
             "SELECT * FROM roles WHERE role_name='system-administrator'")
         admin_role = cursor.fetchone()
-        cursor.execute("INSERT INTO user_roles VALUES (:user_id, :role_id)",
-                       {**admin, "role_id": admin_role["role_id"]})
+        cursor.execute(
+            "SELECT * FROM resources AS r "
+            "INNER JOIN resource_categories AS rc "
+            "ON r.resource_category_id=rc.resource_category_id "
+            "WHERE resource_category_key='system'")
+        the_system = cursor.fetchall()
+        cursor.execute(
+            "INSERT INTO user_roles VALUES (:user_id, :role_id, :resource_id)",
+            {
+                **admin,
+                "role_id": admin_role["role_id"],
+                "resource_id": the_system["resource_id"]
+            })
         return 0
 
 def register_admin(authdbpath: Path):