forked from adamlaska/datatracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0035_populate_sessionpurposename.py
More file actions
53 lines (41 loc) · 2.11 KB
/
Copy path0035_populate_sessionpurposename.py
File metadata and controls
53 lines (41 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 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, on_agenda, used) in enumerate((
('none', 'None', 'Value not set (do not use for new sessions)', [], True, False),
('regular', 'Regular', 'Regular group session', ['regular'], True, True),
('tutorial', 'Tutorial', 'Tutorial or training session', ['other'], True, True),
('officehours', 'Office hours', 'Office hours session', ['other'], True, True),
('coding', 'Coding', 'Coding session', ['other'], True, True),
('admin', 'Administrative', 'Meeting administration', ['other', 'reg'], True, True),
('social', 'Social', 'Social event or activity', ['break', 'other'], True, True),
('plenary', 'Plenary', 'Plenary session', ['plenary'], True, True),
('presentation', 'Presentation', 'Presentation session', ['other', 'regular'], True, True),
('open_meeting', 'Open meeting', 'Open meeting', ['other'], True, True),
('closed_meeting', 'Closed meeting', 'Closed meeting', ['other', 'regular'], False, True),
)):
# verify that we're not about to use an invalid type
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=used,
order=order,
timeslot_types = tstypes,
on_agenda=on_agenda,
)
def reverse(apps, schema_editor):
SessionPurposeName = apps.get_model('name', 'SessionPurposeName')
SessionPurposeName.objects.all().delete()
class Migration(migrations.Migration):
dependencies = [
('name', '0034_sessionpurposename'),
]
operations = [
migrations.RunPython(forward, reverse)
]