Merge pull request #1024 from SuanmoSuanyangTechnology/fix/Timebomb_032
fix(workspace)
This commit is contained in:
@@ -77,8 +77,24 @@ async def delete_workspace_member(
|
||||
BizCode.WORKSPACE_NOT_FOUND)
|
||||
|
||||
try:
|
||||
deleted_user = workspace_member.user
|
||||
workspace_member.is_active = False
|
||||
workspace_member.user.current_workspace_id = None
|
||||
deleted_user.current_workspace_id = None
|
||||
|
||||
# 若被删除成员不是超级管理员且没有其他可用工作空间,则禁用该用户
|
||||
if not deleted_user.is_superuser:
|
||||
remaining = (
|
||||
db.query(WorkspaceMember)
|
||||
.filter(
|
||||
WorkspaceMember.user_id == deleted_user.id,
|
||||
WorkspaceMember.workspace_id != workspace_id,
|
||||
WorkspaceMember.is_active.is_(True),
|
||||
)
|
||||
.count()
|
||||
)
|
||||
if remaining == 0:
|
||||
deleted_user.is_active = False
|
||||
|
||||
db.commit()
|
||||
business_logger.info(f"用户 {user.username} 成功删除工作空间 {workspace_id} 的成员 {member_id}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user