about summary refs log tree commit diff
path: root/gn3/auth/authorisation/roles.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-01-19 11:51:52 +0300
committerFrederick Muriuki Muriithi2023-01-19 11:51:52 +0300
commit88070363558aa8c8f55021d8db1c410007d8854b (patch)
treee00a4165d7435bb7532c44cc4a37908f73f3c7bf /gn3/auth/authorisation/roles.py
parentbf7a51087acfb3cf6706e18c028cc7ada5cebac9 (diff)
downloadgenenetwork3-88070363558aa8c8f55021d8db1c410007d8854b.tar.gz
auth: Fix user registration
The code checking for errors was buggy and would let empty values through.
The sqlite3.IntegrityError exception was not being handled correctly, and
would cause a failure in the application.

This commit fixes the issues noted above.

* gn3/auth/authorisation/roles.py: fix bug in generating query params
* gn3/auth/authorisation/views.py: fix error checking code. Raise exception if
  email is already registered.
Diffstat (limited to 'gn3/auth/authorisation/roles.py')
-rw-r--r--gn3/auth/authorisation/roles.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/gn3/auth/authorisation/roles.py b/gn3/auth/authorisation/roles.py
index 606403e..9e2e83e 100644
--- a/gn3/auth/authorisation/roles.py
+++ b/gn3/auth/authorisation/roles.py
@@ -91,8 +91,8 @@ def assign_default_roles(cursor: db.DbCursor, user: User):
         '("group-creator")')
     role_ids = cursor.fetchall()
     str_user_id = str(user.user_id)
-    params = (
-        {"user_id": str_user_id, "role_id": role_id} for role_id in role_ids)
+    params = tuple(
+        {"user_id": str_user_id, "role_id": row["role_id"]} for row in role_ids)
     cursor.executemany(
         ("INSERT INTO user_roles VALUES (:user_id, :role_id)"),
         params)