50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
# Copyright The IETF Trust 2021 All Rights Reserved
|
|
|
|
# Generated by Django 2.2.24 on 2021-09-26 11:29
|
|
|
|
from django.db import migrations
|
|
|
|
|
|
default_purposes = dict(
|
|
dir=['presentation', 'social', 'tutorial'],
|
|
ietf=['admin', 'presentation', 'social'],
|
|
nomcom=['closed', 'officehours'],
|
|
rg=['session'],
|
|
team=['coding', 'presentation', 'social', 'tutorial'],
|
|
wg=['session'],
|
|
)
|
|
|
|
|
|
def forward(apps, schema_editor):
|
|
GroupFeatures = apps.get_model('group', 'GroupFeatures')
|
|
SessionPurposeName = apps.get_model('name', 'SessionPurposeName')
|
|
|
|
# verify that we're not about to use an invalid purpose
|
|
for purposes in default_purposes.values():
|
|
for purpose in purposes:
|
|
SessionPurposeName.objects.get(pk=purpose) # throws an exception unless exists
|
|
|
|
for type_, purposes in default_purposes.items():
|
|
GroupFeatures.objects.filter(
|
|
type=type_
|
|
).update(
|
|
session_purposes=purposes
|
|
)
|
|
|
|
def reverse(apps, schema_editor):
|
|
GroupFeatures = apps.get_model('group', 'GroupFeatures')
|
|
GroupFeatures.objects.update(session_purposes=[]) # clear back out to default
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('group', '0051_groupfeatures_session_purposes'),
|
|
('name', '0036_populate_sessionpurposename'),
|
|
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(forward, reverse),
|
|
]
|