mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	user_groups: Add API support for deactivating user groups.
This commit is contained in:
		@@ -182,6 +182,7 @@ def do_send_create_user_group_event(
 | 
			
		||||
            direct_subgroup_ids=[direct_subgroup.id for direct_subgroup in direct_subgroups],
 | 
			
		||||
            can_manage_group=get_group_setting_value_for_api(user_group.can_manage_group),
 | 
			
		||||
            can_mention_group=get_group_setting_value_for_api(user_group.can_mention_group),
 | 
			
		||||
            deactivated=False,
 | 
			
		||||
        ),
 | 
			
		||||
    )
 | 
			
		||||
    send_event_on_commit(user_group.realm, event, active_user_ids(user_group.realm_id))
 | 
			
		||||
@@ -436,6 +437,25 @@ def check_delete_user_group(user_group: NamedUserGroup, *, acting_user: UserProf
 | 
			
		||||
    do_send_delete_user_group_event(acting_user.realm, user_group_id, acting_user.realm.id)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@transaction.atomic(savepoint=False)
 | 
			
		||||
def do_deactivate_user_group(
 | 
			
		||||
    user_group: NamedUserGroup, *, acting_user: UserProfile | None
 | 
			
		||||
) -> None:
 | 
			
		||||
    user_group.deactivated = True
 | 
			
		||||
    user_group.save(update_fields=["deactivated"])
 | 
			
		||||
 | 
			
		||||
    now = timezone_now()
 | 
			
		||||
    RealmAuditLog.objects.create(
 | 
			
		||||
        realm=user_group.realm,
 | 
			
		||||
        modified_user_group_id=user_group.id,
 | 
			
		||||
        event_type=AuditLogEventType.USER_GROUP_DEACTIVATED,
 | 
			
		||||
        event_time=now,
 | 
			
		||||
        acting_user=acting_user,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    do_send_user_group_update_event(user_group, dict(deactivated=True))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@transaction.atomic(savepoint=False)
 | 
			
		||||
def do_change_user_group_permission_setting(
 | 
			
		||||
    user_group: NamedUserGroup,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user