datatracker/ietf/name/migrations/0036_populate_sessionpurposename.py

52 lines
1.9 KiB
Python

# Copyright The IETF Trust 2021 All Rights Reserved
# Generated by Django 2.2.24 on 2021-09-16 09:42
from django.db import migrations
def forward(apps, schema_editor):
SessionPurposeName = apps.get_model('name', 'SessionPurposeName')
TimeSlotTypeName = apps.get_model('name', 'TimeSlotTypeName')
for order, (slug, name, desc, tstypes) in enumerate((
('regular', 'Regular', 'Regular group session', ['regular']),
('tutorial', 'Tutorial', 'Tutorial or training session', ['other']),
('officehours', 'Office hours', 'Office hours session', ['other']),
('coding', 'Coding', 'Coding session', ['other']),
('admin', 'Administrative', 'Meeting administration', ['other', 'reg']),
('social', 'Social', 'Social event or activity', ['break', 'other']),
('plenary', 'Plenary', 'Plenary session', ['plenary']),
('presentation', 'Presentation', 'Presentation session', ['other', 'regular']),
('open_meeting', 'Open meeting', 'Open meeting', ['other']),
('closed_meeting', 'Closed meeting', 'Closed meeting', ['other', 'regular']),
)):
# verify that we're not about to use an invalid purpose
for ts_type in tstypes:
TimeSlotTypeName.objects.get(pk=ts_type) # throws an exception unless exists
SessionPurposeName.objects.create(
slug=slug,
name=name,
desc=desc,
used=True,
order=order,
timeslot_types = tstypes
)
def reverse(apps, schema_editor):
SessionPurposeName = apps.get_model('name', 'SessionPurposeName')
SessionPurposeName.objects.all().delete()
class Migration(migrations.Migration):
dependencies = [
('name', '0035_sessionpurposename'),
]
operations = [
migrations.RunPython(forward, reverse)
]