mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	This commit creates a new organization setting that determines whether a user can invite other users to streams. Previously this was linked to the waiting period threshold, but this was both not documented and overly limiting. With significant tweaks by tabbott to change the database model to not involve two threshhold fields, edit the tests, etc. This requires follow-up work to make the create stream policy setting work how this code implies it should. Fixes #12042.
		
			
				
	
	
		
			30 lines
		
	
	
		
			1007 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1007 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
# Generated by Django 1.11.20 on 2019-04-29 05:29
 | 
						|
from __future__ import unicode_literals
 | 
						|
 | 
						|
from django.db import migrations, models
 | 
						|
 | 
						|
from django.db.backends.postgresql_psycopg2.schema import DatabaseSchemaEditor
 | 
						|
from django.db.migrations.state import StateApps
 | 
						|
 | 
						|
def handle_waiting_period(apps: StateApps, schema_editor: DatabaseSchemaEditor) -> None:
 | 
						|
    Realm = apps.get_model('zerver', 'Realm')
 | 
						|
    Realm.objects.filter(waiting_period_threshold__gt=0).update(
 | 
						|
        invite_to_stream_policy=3)  # INVITE_TO_STREAM_POLICY_WAITING_PERIOD
 | 
						|
 | 
						|
class Migration(migrations.Migration):
 | 
						|
 | 
						|
    dependencies = [
 | 
						|
        ('zerver', '0213_realm_digest_weekday'),
 | 
						|
    ]
 | 
						|
 | 
						|
    operations = [
 | 
						|
        migrations.AddField(
 | 
						|
            model_name='realm',
 | 
						|
            name='invite_to_stream_policy',
 | 
						|
            field=models.PositiveSmallIntegerField(default=1),
 | 
						|
        ),
 | 
						|
        migrations.RunPython(handle_waiting_period,
 | 
						|
                             reverse_code=migrations.RunPython.noop),
 | 
						|
    ]
 |