Files
zulip/zerver/migrations/0217_migrate_create_stream_policy.py
David Wood 34d810aac3 settings: Migrate to create_stream_policy structure.
This commit replaces the `create_stream_by_admins_only` setting with a
new `create_stream_policy` setting, which mirroring the structure of
the existing `invite_to_stream_policy`.

This is important preparation for migrating the waiting period feature
to be its own independent setting.

Fixes #12236.
2019-05-06 16:27:55 -07:00

31 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-05-06 13:15
from __future__ import unicode_literals
from django.db import migrations
from django.db.backends.postgresql_psycopg2.schema import DatabaseSchemaEditor
from django.db.migrations.state import StateApps
def upgrade_create_stream_policy(apps: StateApps, schema_editor: DatabaseSchemaEditor) -> None:
Realm = apps.get_model('zerver', 'Realm')
Realm.objects.filter(waiting_period_threshold__exact=0) \
.filter(create_stream_by_admins_only=False) \
.update(create_stream_policy=1) # CREATE_STREAM_POLICY_MEMBERS
Realm.objects.filter(create_stream_by_admins_only=True) \
.update(create_stream_policy=2) # CREATE_STREAM_POLICY_ADMINS
Realm.objects.filter(waiting_period_threshold__gt=0) \
.filter(create_stream_by_admins_only=False) \
.update(create_stream_policy=3) # CREATE_STREAM_POLICY_WAITING_PERIOD
class Migration(migrations.Migration):
dependencies = [
('zerver', '0216_add_create_stream_policy'),
]
operations = [
migrations.RunPython(upgrade_create_stream_policy,
reverse_code=migrations.RunPython.noop),
]