datatracker/ietf/group/migrations/0052_populate_groupfeatures_session_purposes.py
2021-10-12 17:08:58 +00:00

49 lines
1.3 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'],
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),
]