Skip to content

Commit 65d2045

Browse files
committed
refactor: enhance role_setting validation in user role assignment logic
1 parent f554205 commit 65d2045

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

apps/users/serializers/user.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,9 @@ def update_user_role(instance, user, user_id=None):
570570
is_admin = workspace_user_role_mapping_model.objects.filter(user_id=user_id,
571571
role_id=RoleConstants.ADMIN.name).exists()
572572
role_setting = instance.get('role_setting')
573-
if not role_setting:
573+
if not role_setting or (len(role_setting) == 1
574+
and role_setting[0].get('role_id') == ''
575+
and len(role_setting[0].get('workspace_ids', [])) == 0):
574576
return
575577
if str(user.id) == 'f0dd8f71-e4ee-11ee-8c84-a8a1595801ab':
576578
# 需要判断当前角色的权限 不能删除系统管理员 空间管理员 普通管理员等角色

0 commit comments

Comments
 (0)