# Generated by Django 3.2.15 on 2022-10-01 08:44 import datetime from django.db import migrations, models import django.db.models.deletion from django.utils import timezone import seminar.models as m def vytvor_deadliny(apps, schema_editor): Cislo = apps.get_model('seminar', 'Cislo') Deadline = apps.get_model('seminar', 'Deadline') for cislo in Cislo.objects.all(): if cislo.rocnik.rocnik < 26: Deadline.objects.create( cislo=cislo, typ=m.Deadline.TYP_CISLA, deadline=timezone.make_aware(datetime.datetime.combine(datetime.date(1994 + cislo.rocnik.rocnik, 6, int(cislo.poradi[0])), datetime.time.min)), verejna_vysledkovka=cislo.verejna_vysledkovka, ) continue def vytvor_deadline(date: datetime.date, typ): Deadline.objects.create( cislo=cislo, typ=typ, deadline=timezone.make_aware(datetime.datetime.combine(date, datetime.time.min)) + datetime.timedelta(days=1), verejna_vysledkovka=True ) if cislo.datum_deadline_soustredeni and cislo.datum_deadline_soustredeni == cislo.datum_preddeadline: vytvor_deadline( date=cislo.datum_deadline_soustredeni, typ=m.Deadline.TYP_PRVNI_A_SOUS ) else: if cislo.datum_deadline_soustredeni: vytvor_deadline( date=cislo.datum_deadline_soustredeni, typ=m.Deadline.TYP_SOUS ) if cislo.datum_preddeadline: vytvor_deadline( date=cislo.datum_preddeadline, typ=m.Deadline.TYP_PRVNI ) if cislo.datum_deadline: vytvor_deadline( date=cislo.datum_deadline, typ=m.Deadline.TYP_CISLA ) class Migration(migrations.Migration): dependencies = [ ('seminar', '0102_osoba_jak_se_dozvedeli'), ] operations = [ migrations.CreateModel( name='Deadline', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('deadline', models.DateTimeField(default=timezone.make_aware(datetime.datetime.combine(timezone.now(), datetime.time.max)))), ('typ', models.CharField(choices=[('cisla', 'Deadline celého čísla'), ('prvni', 'První deadline'), ('prvniasous', 'Sousový a první deadline'), ('sous', 'Sousový deadline')], max_length=32, verbose_name='typ deadlinu')), ('verejna_vysledkovka', models.BooleanField(db_column='verejna_vysledkovka', default=False, verbose_name='veřejná výsledkovka')), ('cislo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='deadline_v_cisle', to='seminar.cislo', verbose_name='deadline v čísle')), ], options={ 'verbose_name': 'Deadline', 'verbose_name_plural': 'Deadliny', 'db_table': 'seminar_deadliny', 'ordering': ['deadline'], }, ), migrations.RunPython(vytvor_deadliny, migrations.RunPython.noop), ]