# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-04-30 21:54
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import django_countries.fields
import imagekit.models.fields
import taggit.managers


class Migration(migrations.Migration):

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('seminar', '0048_add_cislo_datum_deadline_soustredeni'),
    ]

    operations = [
        migrations.CreateModel(
            name='Clanek',
            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')),
            ],
            options={
                'verbose_name': 'Článek',
                'verbose_name_plural': 'Články',
                'db_table': 'seminar_clanky',
            },
            bases=('seminar.problem',),
        ),
        migrations.CreateModel(
            name='Hodnoceni',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('body', models.DecimalField(decimal_places=1, max_digits=8, verbose_name='body')),
            ],
            options={
                'verbose_name': 'Hodnocení',
                'verbose_name_plural': 'Hodnocení',
                'db_table': 'seminar_hodnoceni',
            },
        ),
        migrations.CreateModel(
            name='Obrazek',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('na_web', models.ImageField(blank=True, null=True, upload_to='obrazky/%Y/%m/%d/', verbose_name='obrázek na web')),
                ('do_cisla_barevny', models.FileField(blank=True, help_text='Barevná verze obrázku do čísla', null=True, upload_to='obrazky/%Y/%m/%d/', verbose_name='barevný obrázek do čísla')),
                ('do_cisla_cernobily', models.FileField(blank=True, help_text='Černobílá verze obrázku do čísla', null=True, upload_to='obrazky/%Y/%m/%d/', verbose_name='černobílý obrázek do čísla')),
            ],
            options={
                'verbose_name': 'obrázek',
                'verbose_name_plural': 'obrázky',
                'db_table': 'seminar_obrazky',
            },
        ),
        migrations.CreateModel(
            name='Osoba',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('jmeno', models.CharField(max_length=256, verbose_name='jméno')),
                ('prijmeni', models.CharField(max_length=256, verbose_name='příjmení')),
                ('prezdivka', models.CharField(max_length=256, verbose_name='přezdívka')),
                ('pohlavi_muz', models.BooleanField(default=False, verbose_name='pohlaví (muž)')),
                ('email', models.EmailField(blank=True, default='', max_length=256, verbose_name='e-mail')),
                ('telefon', models.CharField(blank=True, default='', max_length=256, verbose_name='telefon')),
                ('datum_narozeni', models.DateField(blank=True, null=True, verbose_name='datum narození')),
                ('datum_souhlasu_udaje', models.DateField(blank=True, help_text='Datum souhlasu se zpracováním osobních údajů', null=True, verbose_name='datum souhlasu (údaje)')),
                ('datum_souhlasu_zasilani', models.DateField(blank=True, help_text='Datum souhlasu se zasíláním MFF materiálů', null=True, verbose_name='datum souhlasu (spam)')),
                ('datum_registrace', models.DateField(default=django.utils.timezone.now, verbose_name='datum registrace do semináře')),
                ('ulice', models.CharField(blank=True, default='', max_length=256, verbose_name='ulice')),
                ('mesto', models.CharField(blank=True, default='', max_length=256, verbose_name='město')),
                ('psc', models.CharField(blank=True, default='', max_length=32, verbose_name='PSČ')),
                ('stat', django_countries.fields.CountryField(default='CZ', help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)', max_length=2, verbose_name='stát')),
                ('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k osobě (plain text)', verbose_name='neveřejná poznámka')),
                ('foto', imagekit.models.fields.ProcessedImageField(blank=True, help_text='Vlož fotografii osoby o libovolné velikosti', null=True, upload_to='image_osoby/velke/%Y/', verbose_name='Fotografie osoby')),
                ('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='uživatel')),
            ],
            options={
                'verbose_name': 'Osoba',
                'verbose_name_plural': 'Osoby',
                'db_table': 'seminar_osoby',
                'ordering': ['prijmeni', 'jmeno'],
            },
        ),
        migrations.CreateModel(
            name='Prijemce',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
                ('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k příemci čísel (plain text)', verbose_name='neveřejná poznámka')),
                ('osoba', models.ForeignKey(help_text='Které osobě či na jakou adresu se mají zasílat čísla', on_delete=django.db.models.deletion.CASCADE, to='seminar.Osoba', verbose_name='komu')),
            ],
            options={
                'verbose_name': 'příjemce',
                'verbose_name_plural': 'příjemce',
                'db_table': 'seminar_prijemce',
            },
        ),
        migrations.CreateModel(
            name='Reseni_Resitele',
            fields=[
                ('id', models.AutoField(primary_key=True, serialize=False)),
            ],
            options={
                'verbose_name': 'Řešení řešitelů',
                'verbose_name_plural': 'Řešení řešitelů',
                'db_table': 'seminar_reseni_resitele',
                'ordering': ['reseni', 'resitele'],
            },
        ),
        migrations.CreateModel(
            name='Tema',
            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')),
                ('tema_typ', models.CharField(choices=[('tema', 'Téma'), ('serial', 'Seriál')], default='tema', max_length=16, verbose_name='Typ tématu')),
            ],
            options={
                'verbose_name': 'Téma',
                'verbose_name_plural': 'Témata',
                'db_table': 'seminar_temata',
            },
            bases=('seminar.problem',),
        ),
        migrations.CreateModel(
            name='Text',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('na_web', models.TextField(blank=True, help_text='Text ke zveřejnění na webu', verbose_name='text na web')),
                ('do_cisla', models.TextField(blank=True, help_text='Text ke zveřejnění v čísle', verbose_name='text do čísla')),
            ],
            options={
                'verbose_name': 'text',
                'verbose_name_plural': 'texty',
                'db_table': 'seminar_texty',
            },
        ),
        migrations.CreateModel(
            name='Uloha',
            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')),
                ('max_body', models.DecimalField(blank=True, decimal_places=1, max_digits=8, null=True, verbose_name='maximum bodů')),
            ],
            options={
                'verbose_name': 'Úloha',
                'verbose_name_plural': 'Úlohy',
                'db_table': 'seminar_ulohy',
            },
            bases=('seminar.problem',),
        ),
        migrations.AlterModelOptions(
            name='novinky',
            options={'ordering': ['-datum'], 'verbose_name': 'Novinka', 'verbose_name_plural': 'Novinky'},
        ),
        migrations.AlterModelOptions(
            name='prilohareseni',
            options={'ordering': ['reseni', 'vytvoreno'], 'verbose_name': 'Příloha řešení', 'verbose_name_plural': 'Přílohy řešení'},
        ),
        migrations.AlterModelOptions(
            name='reseni',
            options={'ordering': ['-cas_doruceni'], 'verbose_name': 'Řešení', 'verbose_name_plural': 'Řešení'},
        ),
        migrations.AlterModelOptions(
            name='resitel',
            options={'ordering': ['osoba'], 'verbose_name': 'Řešitel', 'verbose_name_plural': 'Řešitelé'},
        ),
        migrations.RenameField(
            model_name='konfera',
            old_name='org_poznamka',
            new_name='poznamka',
        ),
        migrations.RenameField(
            model_name='pohadka',
            old_name='timestamp',
            new_name='vytvoreno',
        ),
        migrations.RenameField(
            model_name='reseni',
            old_name='timestamp',
            new_name='cas_doruceni',
        ),
        migrations.RenameField(
            model_name='prilohareseni',
            old_name='timestamp',
            new_name='vytvoreno',
        ),
        migrations.RenameField(
            model_name='problem',
            old_name='text_org',
            new_name='poznamka',
        ),
        migrations.RenameField(
            model_name='problem',
            old_name='timestamp',
            new_name='vytvoreno',
        ),
        migrations.RenameField(
            model_name='problem',
            old_name='cislo_zadani',
            new_name='cislo_zadani_old',
        ),
        migrations.RenameField(
            model_name='problem',
            old_name='cislo_reseni',
            new_name='cislo_reseni_old',
        ),
        migrations.AddField(
            model_name='konfera',
            name='anotace',
            field=models.TextField(blank=True, help_text='Popis, o čem bude konfera.', verbose_name='anotace'),
        ),
        migrations.AddField(
            model_name='konfera',
            name='reseni',
            field=models.ForeignKey(blank=True, help_text='Účastnický přípěvek o konfeře', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='konfery', to='seminar.Reseni', verbose_name='článek ke konfeře'),
        ),
        migrations.AddField(
            model_name='organizator',
            name='organizuje_do',
            field=models.DateTimeField(blank=True, null=True, verbose_name='Organizuje do'),
        ),
        migrations.AddField(
            model_name='organizator',
            name='organizuje_od',
            field=models.DateTimeField(null=True,blank=True, verbose_name='Organizuje od'),
        ),
        migrations.AddField(
            model_name='organizator',
            name='skola',
            field=models.CharField(blank=True, help_text='Škola, např. MFF, VŠCHT, VUT, ... prostě aby se nemuselo psát do studuješkolu, ale jen obor, možnost zobrazit zvlášť', max_length=256, null=True, verbose_name='Škola, kterou studuje'),
        ),
        migrations.AddField(
            model_name='organizator',
            name='vytvoreno',
            field=models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False, verbose_name='Vytvořeno'),
        ),
        migrations.AddField(
            model_name='problem',
            name='garant',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='garant_problemu_problem', to='seminar.Organizator', verbose_name='garant zadaného problému'),
        ),
        migrations.AddField(
            model_name='problem',
            name='nadproblem',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='nadproblem_problem', to='seminar.Problem', verbose_name='nadřazený problém'),
        ),
        migrations.AddField(
            model_name='problem',
            name='opravovatele',
            field=models.ManyToManyField(blank=True, related_name='opravovatele_problem', to='seminar.Organizator', verbose_name='opravovatelé'),
        ),
        migrations.AddField(
            model_name='reseni',
            name='zverejneno',
            field=models.BooleanField(default=False, help_text='Udává, zda je řešení zveřejněno', verbose_name='řešení zveřejněno'),
        ),
        migrations.AlterField(
            model_name='cislo',
            name='verejna_vysledkovka',
            field=models.BooleanField(default=False, help_text='Je-li false u veřejného čísla,\t\t\t\t  není výsledkovka zatím veřejná.', verbose_name='zveřejněna výsledkovka'),
        ),
        migrations.AlterField(
            model_name='cislo',
            name='verejne_db',
            field=models.BooleanField(db_column='verejne', default=False, verbose_name='číslo zveřejněno'),
        ),
        migrations.AlterField(
            model_name='konfera',
            name='typ_prezentace',
            field=models.CharField(choices=[('veletrh', 'Veletrh (postery)'), ('prezentace', 'Prezentace (přednáška)')], default='veletrh', max_length=16, verbose_name='typ prezentace'),
        ),
	migrations.RenameField(
	    model_name='novinky',
	    old_name='autor',
	    new_name='autor_old'
	),
        migrations.AddField(
            model_name='novinky',
            name='autor',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Organizator', verbose_name='Autor novinky', null=True),
        ),
        migrations.AlterField(
            model_name='novinky',
            name='obrazek',
            field=models.ImageField(blank=True, null=True, upload_to='image_novinky/%Y/%m/%d/', verbose_name='Obrázek'),
        ),
        migrations.AlterField(
            model_name='novinky',
            name='text',
            field=models.TextField(blank=True, null=True, verbose_name='Text novinky'),
        ),
        migrations.AlterField(
            model_name='novinky',
            name='zverejneno',
            field=models.BooleanField(default=False, verbose_name='Zveřejněno'),
        ),
        migrations.AlterField(
            model_name='organizator',
            name='strucny_popis_organizatora',
            field=models.TextField(blank=True, null=True, verbose_name='Stručný popis organizátora'),
        ),
        migrations.AlterField(
            model_name='organizator',
            name='studuje',
            field=models.CharField(blank=True, help_text="Např. 'Studuje Obecnou fyziku (Bc.), 3. ročník', 'Vystudovala Diskrétní modely a algoritmy (Mgr.)' nebo 'Přednáší na MFF'", max_length=256, null=True, verbose_name='Studium aj.'),
        ),
	migrations.RenameField(
            model_name='pohadka',
            old_name='autor',
            new_name='autor_old'
	),
        migrations.AddField(
            model_name='pohadka',
            name='autor',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='seminar.Organizator', verbose_name='Autor pohádky'),
        ),
	migrations.RenameField(
            model_name='pohadka',
            old_name='uloha',
            new_name='uloha_old'
	),
        migrations.AddField(
            model_name='pohadka',
            name='uloha',
            field=models.ForeignKey(null=True,on_delete=django.db.models.deletion.CASCADE, related_name='pohadky', to='seminar.Uloha', verbose_name='Úloha'),
        ),
	migrations.RenameField(
            model_name='problem',
            old_name='autor',
            new_name='autor_old',
	),
        migrations.AddField(
            model_name='problem',
            name='autor',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='autor_problemu_problem', to='seminar.Organizator', verbose_name='autor problému'),
        ),
        migrations.AlterField(
            model_name='problem',
            name='kod',
            field=models.CharField(blank=True, default='', help_text='Číslo/kód úlohy v čísle nebo kód tématu/článku/seriálu v ročníku', max_length=32, verbose_name='lokální kód'),
        ),
        migrations.AlterField(
            model_name='problem',
            name='stav',
            field=models.CharField(choices=[('navrh', 'Návrh'), ('zadany', 'Zadaný'), ('vyreseny', 'Vyřešený'), ('smazany', 'Smazaný')], default='navrh', max_length=32, verbose_name='stav problému'),
        ),
        migrations.AlterField(
            model_name='problem',
            name='zamereni',
            field=taggit.managers.TaggableManager(blank=True, help_text='Zaměření M/F/I/O problému, příp. další tagy', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='zaměření'),
        ),
        migrations.AlterField(
            model_name='reseni',
            name='forma',
            field=models.CharField(choices=[('papir', 'Papírové řešení'), ('email', 'Emailem'), ('upload', 'Upload přes web')], default='email', max_length=16, verbose_name='forma řešení'),
        ),
        migrations.RenameField(
            model_name='reseni',
            old_name='problem',
            new_name='problem_old',
        ),
        migrations.AlterField(
            model_name='resitel',
            name='zasilat',
            field=models.CharField(choices=[('domu', 'Domů'), ('do_skoly', 'Do školy'), ('nikam', 'Nikam')], default='domu', max_length=32, verbose_name='kam zasílat'),
        ),
        migrations.AlterField(
            model_name='rocnik',
            name='exportovat',
            field=models.BooleanField(db_column='exportovat', default=False, help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti), a to jen čísla s veřejnou výsledkovkou', verbose_name='export do AESOPa'),
        ),
        migrations.AlterField(
            model_name='skola',
            name='aesop_id',
            field=models.CharField(blank=True, default='', help_text='Aesopi ID typu "izo:..." nebo "aesop:..."', max_length=32, verbose_name='Aesop ID'),
        ),
        migrations.AlterField(
            model_name='skola',
            name='kratky_nazev',
            field=models.CharField(blank=True, help_text='Zkrácený název pro zobrazení ve výsledkovce', max_length=256, verbose_name='zkrácený název'),
        ),
        migrations.AlterField(
            model_name='skola',
            name='stat',
            field=django_countries.fields.CountryField(default='CZ', help_text='ISO 3166-1 kód země velkými písmeny (CZ, SK, ...)', max_length=2, verbose_name='stát'),
        ),
        migrations.AlterField(
            model_name='soustredeni',
            name='exportovat',
            field=models.BooleanField(db_column='exportovat', default=False, help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)', verbose_name='export do AESOPa'),
        ),
        migrations.AlterField(
            model_name='soustredeni',
            name='misto',
            field=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í'),
        ),
        migrations.AlterField(
            model_name='soustredeni',
            name='text',
            field=models.TextField(blank=True, default='', verbose_name='text k soustředění (HTML)'),
        ),
        migrations.AlterField(
            model_name='soustredeni',
            name='typ',
            field=models.CharField(choices=[('jarni', 'Jarní soustředění'), ('podzimni', 'Podzimní soustředění'), ('vikend', 'Víkendový sraz')], default='podzimni', max_length=16, verbose_name='typ akce'),
        ),
        migrations.AlterField(
            model_name='soustredeni',
            name='verejne_db',
            field=models.BooleanField(db_column='verejne', default=False, verbose_name='soustředění zveřejněno'),
        ),
        migrations.AlterModelTable(
            name='problem',
            table='seminar_problemy',
        ),
        migrations.AddField(
            model_name='uloha',
            name='cislo_deadline',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='deadlinove_ulohy', to='seminar.Cislo', verbose_name='číslo deadlinu'),
        ),
        migrations.AddField(
            model_name='uloha',
            name='cislo_reseni',
            field=models.ForeignKey(blank=True, help_text='Číslo s řešením úlohy, jen pro úlohy', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='resene_ulohy', to='seminar.Cislo', verbose_name='číslo řešení'),
        ),
        migrations.AddField(
            model_name='uloha',
            name='cislo_zadani',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='zadane_ulohy', to='seminar.Cislo', verbose_name='číslo zadání'),
        ),
        migrations.AddField(
            model_name='tema',
            name='rocnik',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='seminar.Rocnik', verbose_name='ročník'),
        ),
        migrations.AddField(
            model_name='reseni_resitele',
            name='reseni',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Reseni', verbose_name='řešení'),
        ),
        migrations.AddField(
            model_name='reseni_resitele',
            name='resitele',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Resitel', verbose_name='řešitel'),
        ),
        migrations.AddField(
            model_name='obrazek',
            name='text',
            field=models.ForeignKey(help_text='text, ve kterém se obrázek vyskytuje', on_delete=django.db.models.deletion.CASCADE, to='seminar.Text', verbose_name='text'),
        ),
        migrations.AddField(
            model_name='hodnoceni',
            name='cislo_body',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='hodnoceni', to='seminar.Cislo', verbose_name='číslo pro body'),
        ),
        migrations.AddField(
            model_name='hodnoceni',
            name='problem',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Problem', verbose_name='problém'),
        ),
        migrations.AddField(
            model_name='hodnoceni',
            name='reseni',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Reseni', verbose_name='řešení'),
        ),
        migrations.AddField(
            model_name='clanek',
            name='cislo',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='seminar.Cislo', verbose_name='číslo'),
        ),
        migrations.AddField(
            model_name='organizator',
            name='osoba',
            field=models.ForeignKey(help_text='osobní údaje organizátora', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='org', to='seminar.Osoba', verbose_name='osoba'),
        ),
        migrations.AddField(
            model_name='reseni',
            name='resitele',
            field=models.ManyToManyField(help_text='Seznam autorů řešení', through='seminar.Reseni_Resitele', to='seminar.Resitel', verbose_name='autoři řešení'),
        ),
        migrations.AddField(
            model_name='reseni',
            name='text_cely',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reseni_cely_set', to='seminar.Text', verbose_name='Plná verze textu řešení'),
        ),
        migrations.AddField(
            model_name='reseni',
            name='text_zkraceny',
            field=models.ManyToManyField(help_text='Seznam úryvků z řešení', related_name='reseni_zkraceny_set', to='seminar.Text', verbose_name='zkrácené verze řešení'),
        ),
        migrations.AddField(
            model_name='resitel',
            name='osoba',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='seminar.Osoba', verbose_name='osoba'),
        ),
        migrations.AddField(
            model_name='skola',
            name='kontaktni_osoba',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='seminar.Osoba', verbose_name='Kontaktní osoba'),
        ),
        migrations.AddField(
            model_name='reseni',
            name='problem',
            field=models.ManyToManyField(help_text='Problém', through='seminar.Hodnoceni', to='seminar.Problem', verbose_name='problém'),
        ),
    ]