Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions app/curd/group.py
Original file line number Diff line number Diff line change
Expand Up @@ -550,34 +550,34 @@ async def crud_get_permissions(group_id: int, item_type: int, item_id: int, db:
unaccessible_ids = result.scalars().all()
unaccessible = []
for unaccessible_id in unaccessible_ids:
query = select(User.username, User.avatar).where(User.id == unaccessible_id)
query = select(User.id, User.username, User.avatar).where(User.id == unaccessible_id)
result = await db.execute(query)
user_info = result.one_or_none()
user_name, user_avatar = user_info
unaccessible.append({"user_name": user_name, "user_avatar": user_avatar})
user_id, user_name, user_avatar = user_info
unaccessible.append({"user_id": user_id, "user_name": user_name, "user_avatar": user_avatar})
# 对该实体仅查看的普通成员id
query = select(operate_permissions.c.user_id).where(operate_permissions.c.group_id == group_id, operate_permissions.c.item_type == item_type, operate_permissions.c.item_id == item_id, operate_permissions.c.accessible == True)
result = await db.execute(query)
read_only_ids = result.scalars().all()
read_only = []
for read_only_id in read_only_ids:
query = select(User.username, User.avatar).where(User.id == read_only_id)
query = select(User.id, User.username, User.avatar).where(User.id == read_only_id)
result = await db.execute(query)
user_info = result.one_or_none()
user_name, user_avatar = user_info
read_only.append({"user_name": user_name, "user_avatar": user_avatar})
user_id, user_name, user_avatar = user_info
read_only.append({"user_id": user_id, "user_name": user_name, "user_avatar": user_avatar})
# 对该实体可编辑的普通成员id
writeable_ids = []
for member_id in member_ids:
if member_id not in set(unaccessible_ids) and member_id not in set(read_only_ids):
writeable_ids.append(member_id)
writeable = []
for writeable_id in writeable_ids:
query = select(User.username, User.avatar).where(User.id == writeable_id)
query = select(User.id, User.username, User.avatar).where(User.id == writeable_id)
result = await db.execute(query)
user_info = result.one_or_none()
user_name, user_avatar = user_info
writeable.append({"user_name": user_name, "user_avatar": user_avatar})
user_id, user_name, user_avatar = user_info
writeable.append({"user_id": user_id, "user_name": user_name, "user_avatar": user_avatar})

return unaccessible, read_only, writeable

Expand Down