From 8c481ecf4c1e8c418cf45119e1cd092499e3fae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=20=E6=9F=8F?= Date: Mon, 23 Dec 2024 15:28:25 +0900 Subject: [PATCH] bugfix assign_userrole --- backend/app/db/cruddb/dbuser.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/app/db/cruddb/dbuser.py b/backend/app/db/cruddb/dbuser.py index 1a7d7ca..8a490fd 100644 --- a/backend/app/db/cruddb/dbuser.py +++ b/backend/app/db/cruddb/dbuser.py @@ -74,10 +74,11 @@ class dbuser(crudbase): db_user = super().get(db,user_id) if db_user: for role in db_user.roles: - db_user.roles.remove(role) + if role.id not in roles: + db_user.roles.remove(role) for roleid in roles: role = dbrole.get(db,roleid) - if role: + if role not in db_user.roles: db_user.roles.append(role) db.commit() db.refresh(db_user)