Skip to content

Commit

Permalink
feat: 修复用户组编辑时日志关联移出的用户组
Browse files Browse the repository at this point in the history
  • Loading branch information
zgqgit committed Jun 26, 2024
1 parent 6ff6cfe commit bec4488
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 7 deletions.
7 changes: 2 additions & 5 deletions src/backend/bisheng/api/services/audit_log.py
Original file line number Diff line number Diff line change
Expand Up @@ -274,16 +274,13 @@ def _system_log(cls, user: UserPayload, ip_address: str, group_ids: List[int], e
AuditLogDao.insert_audit_logs([audit_log])

@classmethod
def update_user(cls, user: UserPayload, ip_address: str, user_id: int, note: str):
def update_user(cls, user: UserPayload, ip_address: str, user_id: int, group_ids: List[int], note: str):
"""
修改用户的用户组和角色
"""
logger.info(f"act=update_system_user user={user.user_name} ip={ip_address} user_id={user_id} note={note}")
user_info = UserDao.get_user(user_id)
# 获取用户所属的分组
user_group = UserGroupDao.get_user_group(user_id)
user_group = [one.group_id for one in user_group]
cls._system_log(user, ip_address, user_group, EventType.UPDATE_USER.value,
cls._system_log(user, ip_address, group_ids, EventType.UPDATE_USER.value,
ObjectType.USER_CONF.value, str(user_id), user_info.user_name, note)

@classmethod
Expand Down
2 changes: 1 addition & 1 deletion src/backend/bisheng/api/services/role_group_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ def replace_user_groups(self, request: Request, login_user: UserPayload, user_id
for one in group_ids:
note += group_dict.get(one, one) + "、"
note = note.rstrip('、')
AuditLogService.update_user(login_user, get_request_ip(request), user_id, note)
AuditLogService.update_user(login_user, get_request_ip(request), user_id, group_dict.keys(), note)
return None

def get_user_groups_list(self, user_id: int) -> List[GroupRead]:
Expand Down
3 changes: 2 additions & 1 deletion src/backend/bisheng/api/v1/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,7 @@ def update_user_role_hook(request: Request, login_user: UserPayload, user_id: in
logger.info(f'update_user_role_hook, user_id: {user_id}, old_roles: {old_roles}, new_roles: {new_roles}')
# 写入审计日志
role_info = RoleDao.get_role_by_ids(old_roles + new_roles)
group_ids = list(set([role.group_id for role in role_info]))
role_dict = {one.id: one.role_name for one in role_info}
note = "编辑前角色:"
for one in old_roles:
Expand All @@ -557,7 +558,7 @@ def update_user_role_hook(request: Request, login_user: UserPayload, user_id: in
for one in new_roles:
note += role_dict[one] + "、"
note = note.rstrip("、")
AuditLogService.update_user(login_user, get_request_ip(request), user_id, note)
AuditLogService.update_user(login_user, get_request_ip(request), user_id, group_ids, note)


@router.get('/user/role', status_code=200)
Expand Down

0 comments on commit bec4488

Please sign in to comment.