diff --git a/zerver/actions/user_groups.py b/zerver/actions/user_groups.py index 8caf7655c0..cb4bf71d42 100644 --- a/zerver/actions/user_groups.py +++ b/zerver/actions/user_groups.py @@ -215,7 +215,9 @@ def add_subgroups_to_user_group( @transaction.atomic -def remove_subgroups_from_user_group(user_group: UserGroup, subgroups: List[UserGroup]) -> None: +def remove_subgroups_from_user_group( + user_group: UserGroup, subgroups: List[UserGroup], *, acting_user: Optional[UserProfile] +) -> None: GroupGroupMembership.objects.filter(supergroup=user_group, subgroup__in=subgroups).delete() subgroup_ids = [subgroup.id for subgroup in subgroups] diff --git a/zerver/tests/test_events.py b/zerver/tests/test_events.py index ed4fe6645f..30dea10b78 100644 --- a/zerver/tests/test_events.py +++ b/zerver/tests/test_events.py @@ -1324,7 +1324,9 @@ class NormalActionsTest(BaseAction): check_user_group_add_subgroups("events[0]", events[0]) # Test remove subgroups - events = self.verify_action(lambda: remove_subgroups_from_user_group(backend, [api_design])) + events = self.verify_action( + lambda: remove_subgroups_from_user_group(backend, [api_design], acting_user=None) + ) check_user_group_remove_subgroups("events[0]", events[0]) # Test remove event diff --git a/zerver/views/user_groups.py b/zerver/views/user_groups.py index e1cb747bd1..a2a080d832 100644 --- a/zerver/views/user_groups.py +++ b/zerver/views/user_groups.py @@ -195,7 +195,7 @@ def remove_subgroups_from_group_backend( ) ) - remove_subgroups_from_user_group(user_group, subgroups) + remove_subgroups_from_user_group(user_group, subgroups, acting_user=user_profile) return json_success(request)