datatracker/ietf/doc/migrations/0003_auto_20150326_0728.py
2015-04-03 19:28:06 +00:00

51 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations
def forward_materials_state(apps, schema_editor):
StateType = apps.get_model('doc', 'StateType')
State = apps.get_model('doc', 'State')
StateType.objects.create(slug='reuse_policy',label='Policy')
single = State.objects.create(type_id='reuse_policy',slug='single',name='Single Meeting')
multiple = State.objects.create(type_id='reuse_policy',slug='multiple',name='Multiple Meetings')
Document = apps.get_model('doc', 'Document')
for doc in Document.objects.filter(type='slides'):
if doc.group.type.slug=='team':
doc.states.add(multiple)
else:
doc.states.add(single)
# Expected to be a no-op on current database, but just for completeness
for doc in Document.objects.filter(type='slides'):
doc.states.filter(type='slides',slug='sessonly').update(slug='active')
State.objects.filter(type_id='slides',slug='sessonly').delete()
def reverse_materials_state(apps, schema_editor):
Document = apps.get_model('doc', 'Document')
for doc in Document.objects.filter(type='slides'):
doc.states.filter(type='update_policy').delete()
StateType = apps.get_model('doc', 'StateType')
StateType.objects.filter(slug='update_policy').delete()
State = apps.get_model('doc', 'State')
State.objects.create(type='slides',slug='sessonly',name='Session Only')
class Migration(migrations.Migration):
dependencies = [
('doc', '0002_auto_20141222_1749'),
('group', '0003_auto_20150304_0743'),
]
operations = [
migrations.RunPython(forward_materials_state,reverse_materials_state),
]