mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
user_groups: Fix union typing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit 2eb2d5b6de
)
This commit is contained in:
committed by
Alex Vandiver
parent
535d9597f7
commit
e9c377cf15
@@ -606,23 +606,24 @@ def get_members_and_subgroups_of_groups(
|
|||||||
.exclude(user_profile__is_active=False)
|
.exclude(user_profile__is_active=False)
|
||||||
.annotate(
|
.annotate(
|
||||||
member_type=Value("user"),
|
member_type=Value("user"),
|
||||||
|
group_id=F("user_group_id"),
|
||||||
|
member_id=F("user_profile_id"),
|
||||||
)
|
)
|
||||||
.values_list("member_type", "user_group_id", "user_profile_id")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
group_subgroups = (
|
group_subgroups = GroupGroupMembership.objects.filter(supergroup_id__in=group_ids).annotate(
|
||||||
GroupGroupMembership.objects.filter(supergroup_id__in=group_ids)
|
member_type=Value("group"),
|
||||||
.annotate(
|
group_id=F("supergroup_id"),
|
||||||
member_type=Value("group"),
|
member_id=F("subgroup_id"),
|
||||||
)
|
|
||||||
.values_list("member_type", "supergroup_id", "subgroup_id")
|
|
||||||
)
|
)
|
||||||
|
|
||||||
group_members_dict: dict[int, UserGroupMembersData] = dict()
|
group_members_dict: dict[int, UserGroupMembersData] = dict()
|
||||||
for group_id in group_ids:
|
for group_id in group_ids:
|
||||||
group_members_dict[group_id] = UserGroupMembersData(direct_members=[], direct_subgroups=[])
|
group_members_dict[group_id] = UserGroupMembersData(direct_members=[], direct_subgroups=[])
|
||||||
|
|
||||||
all_members = user_members.union(group_subgroups)
|
all_members = user_members.union(group_subgroups).values_list(
|
||||||
|
"member_type", "group_id", "member_id"
|
||||||
|
)
|
||||||
for member_type, group_id, member_id in all_members:
|
for member_type, group_id, member_id in all_members:
|
||||||
members_dict = group_members_dict[group_id]
|
members_dict = group_members_dict[group_id]
|
||||||
if member_type == "user":
|
if member_type == "user":
|
||||||
|
Reference in New Issue
Block a user