mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	import_realm: Fix broken stream group-based settings backfill.
Django seems to have an aggressive check on the type of a field when
setting it through an relation, requiring the argument to be a UserGroup in
our case.
Reference:
02966a30dd/django/db/models/base.py (L537-L546)
			
			
This commit is contained in:
		
				
					committed by
					
						
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							3bf83e8830
						
					
				
				
					commit
					1af50548ae
				
			@@ -194,7 +194,7 @@ def fix_streams_can_remove_subscribers_group_column(data: TableData, realm: Real
 | 
			
		||||
        name=UserGroup.ADMINISTRATORS_GROUP_NAME, realm=realm, is_system_group=True
 | 
			
		||||
    )
 | 
			
		||||
    for stream in data[table]:
 | 
			
		||||
        stream["can_remove_subscribers_group_id"] = admins_group.id
 | 
			
		||||
        stream["can_remove_subscribers_group"] = admins_group
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def create_subscription_events(data: TableData, realm_id: int) -> None:
 | 
			
		||||
@@ -986,6 +986,9 @@ def do_import_realm(import_dir: Path, subdomain: str, processes: int = 1) -> Rea
 | 
			
		||||
        fix_datetime_fields(data, "zerver_stream")
 | 
			
		||||
        re_map_foreign_keys(data, "zerver_stream", "realm", related_table="realm")
 | 
			
		||||
        if role_system_groups_dict is not None:
 | 
			
		||||
            # Because the system user groups are missing, we manually set up
 | 
			
		||||
            # the defaults for can_remove_subscribers_group for all the
 | 
			
		||||
            # streams.
 | 
			
		||||
            fix_streams_can_remove_subscribers_group_column(data, realm)
 | 
			
		||||
        else:
 | 
			
		||||
            re_map_foreign_keys(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user