Files
zulip/zerver/migrations/0214_realm_invite_to_stream_policy.py
David Wood 272ed90685 settings: Create an explicit invite_to_stream_policy setting.
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.
2019-04-29 17:11:28 -07:00

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),
]