# Generated by Django 4.2.11 on 2024-04-30 22:53

from django.db import migrations, models
import django.db.models.deletion
import soustredeni.models

def nastav_nove_contenttypes(apps, schema_editor):
    ContentType = apps.get_model('contenttypes', 'ContentType')
    for m in ('konfera', 'soustredeni', 'soustredeni_ucastnici', 'soustredeni_organizatori', 'konfery_ucastnici'):
        oct = ContentType.objects.filter(app_label='seminar', model=m)
        oct.update(app_label='soustredeni')

def nastav_stare_contenttypes(apps, schema_editor):
    ContentType = apps.get_model('contenttypes', 'ContentType')
    for m in ('konfera', 'soustredeni', 'soustredeni_ucastnici', 'soustredeni_organizatori', 'konfery_ucastnici'):
        nct = ContentType.objects.filter(app_label='soustredeni', model=m)
        nct.update(app_label='seminar')


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('seminar', '0123_soustredeni_unmanage'),
    ]

    operations = [
        migrations.RunPython(nastav_nove_contenttypes, nastav_stare_contenttypes),

        migrations.CreateModel(
            name='Konfera',
            fields=[
                ('problem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.problem')),
                ('anotace', models.TextField(blank=True, help_text='Popis, o čem bude konfera.', verbose_name='anotace')),
                ('abstrakt', models.TextField(blank=True, help_text='Abstrakt konfery tak, jak byl uveden ve sborníku', verbose_name='abstrakt')),
                ('typ_prezentace', models.CharField(choices=[('veletrh', 'Veletrh (postery)'), ('prezentace', 'Prezentace (přednáška)')], default='veletrh', max_length=16, verbose_name='typ prezentace')),
                ('prezentace', models.FileField(blank=True, help_text='Prezentace nebo fotka posteru', upload_to=soustredeni.models.generate_filename_konfera, verbose_name='prezentace')),
                ('materialy', models.FileField(blank=True, help_text='Další materiály ke konfeře zabalené do jednoho souboru', upload_to=soustredeni.models.generate_filename_konfera, verbose_name='materialy')),
                ('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.SET_NULL, null=True, related_name='konfery')),
                ('ucastnici', models.ManyToManyField(help_text='Seznam účastníků konfery', through='soustredeni.Konfery_Ucastnici', to='personalni.resitel', verbose_name='účastníci konfery')),
            ],
            options={
                'verbose_name': 'Konfera',
                'verbose_name_plural': 'Konfery',
                'db_table': 'seminar_konfera',
                'managed': False,
            },
            bases=('seminar.problem',),
        ),
        migrations.CreateModel(
            name='Konfery_Ucastnici',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti (plain text)', verbose_name='neveřejná poznámka')),
                ('resitel', models.ForeignKey(to='personalni.resitel', verbose_name='řešitel', on_delete=models.PROTECT)),
                ('konfera', models.ForeignKey(to='soustredeni.konfera', verbose_name='konfera', on_delete=models.CASCADE)),
            ],
            options={
                'verbose_name': 'Účast na konfeře',
                'verbose_name_plural': 'Účasti na konfeře',
                'db_table': 'seminar_konfery_ucastnici',
                'ordering': ['konfera', 'resitel'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Soustredeni',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('datum_zacatku', models.DateField(blank=True, help_text='První den soustředění', null=True, verbose_name='datum začátku')),
                ('datum_konce', models.DateField(blank=True, help_text='Poslední den soustředění', null=True, verbose_name='datum konce')),
                ('verejne_db', models.BooleanField(db_column='verejne', default=False, verbose_name='soustředění zveřejněno')),
                ('misto', models.CharField(blank=True, default='', help_text='Místo (název obce, volitelně též objektu', max_length=256, verbose_name='místo soustředění')),
                ('text', models.TextField(blank=True, default='', verbose_name='text k soustředění (HTML)')),
                ('typ', models.CharField(choices=[('jarni', 'Jarní soustředění'), ('podzimni', 'Podzimní soustředění'), ('vikend', 'Víkendový sraz'), ('vylet', 'Výlet')], default='podzimni', max_length=16, verbose_name='typ akce')),
                ('exportovat', models.BooleanField(db_column='exportovat', default=False, help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)', verbose_name='export do AESOPa')),
                ('rocnik', models.ForeignKey(to='seminar.rocnik', verbose_name='ročník', related_name='soustredeni', on_delete=models.PROTECT)),
                ('organizatori', models.ManyToManyField(help_text='Seznam organizátorů soustředění', through='soustredeni.Soustredeni_Organizatori', to='personalni.organizator', verbose_name='Organizátoři soustředění')),
                ('ucastnici', models.ManyToManyField(help_text='Seznam účastníků soustředění', through='soustredeni.Soustredeni_Ucastnici', to='personalni.resitel', verbose_name='účastníci soustředění')),
            ],
            options={
                'verbose_name': 'Soustředění',
                'verbose_name_plural': 'Soustředění',
                'db_table': 'seminar_soustredeni',
                'ordering': ['-rocnik__rocnik', '-datum_zacatku'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Soustredeni_Organizatori',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti organizátora (plain text)', verbose_name='neveřejná poznámka')),
                ('organizator', models.ForeignKey(to='personalni.organizator', verbose_name='organizátor', on_delete=models.PROTECT)),
                ('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.PROTECT)),
            ],
            options={
                'verbose_name': 'Účast organizátorů na soustředění',
                'verbose_name_plural': 'Účasti organizátorů na soustředění',
                'db_table': 'seminar_soustredeni_organizatori',
                'ordering': ['soustredeni', 'organizator'],
                'managed': False,
            },
        ),
        migrations.CreateModel(
            name='Soustredeni_Ucastnici',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti (plain text)', verbose_name='neveřejná poznámka')),
                ('resitel', models.ForeignKey(to='personalni.resitel', verbose_name='řešitel', on_delete=models.PROTECT)),
                ('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.PROTECT)),
            ],
            options={
                'verbose_name': 'Účast na soustředění',
                'verbose_name_plural': 'Účasti na soustředění',
                'db_table': 'seminar_soustredeni_ucastnici',
                'ordering': ['soustredeni', 'resitel'],
                'managed': False,
            },
        ),
    ]