Web M&M
https://mam.matfyz.cz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
671 lines
42 KiB
671 lines
42 KiB
5 years ago
|
# Generated by Django 2.2.4 on 2019-08-19 18:52
|
||
|
|
||
|
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 seminar.models
|
||
|
import taggit.managers
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
initial = True
|
||
|
|
||
|
dependencies = [
|
||
|
('taggit', '0003_taggeditem_add_unique_index'),
|
||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||
|
('contenttypes', '0002_remove_content_type_name'),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.CreateModel(
|
||
|
name='Cislo',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('cislo', models.CharField(db_index=True, help_text='Většinou jen "1", vyjímečně "7-8", lexikograficky určuje pořadí v ročníku!', max_length=32, verbose_name='název čísla')),
|
||
|
('datum_vydani', models.DateField(blank=True, help_text='Datum vydání finální verze', null=True, verbose_name='datum vydání')),
|
||
|
('datum_deadline', models.DateField(blank=True, help_text='Datum pro příjem řešení úloh zadaných v tomto čísle', null=True, verbose_name='datum deadline')),
|
||
|
('datum_deadline_soustredeni', models.DateField(blank=True, help_text='Datum pro příjem řešení pro účast na soustředění', null=True, verbose_name='datum deadline soustředění')),
|
||
|
('verejne_db', models.BooleanField(db_column='verejne', default=False, verbose_name='číslo zveřejněno')),
|
||
|
('verejna_vysledkovka', models.BooleanField(default=False, help_text='Je-li false u veřejného čísla, není výsledkovka zatím veřejná.', verbose_name='zveřejněna výsledkovka')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k číslu (plain text)', verbose_name='neveřejná poznámka')),
|
||
|
('pdf', models.FileField(blank=True, help_text='Pdf čísla, které si mohou řešitelé stáhnout', null=True, upload_to=seminar.models.cislo_pdf_filename, verbose_name='pdf')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Číslo',
|
||
|
'verbose_name_plural': 'Čísla',
|
||
|
'db_table': 'seminar_cisla',
|
||
|
'ordering': ['-rocnik__rocnik', '-cislo'],
|
||
|
},
|
||
|
),
|
||
|
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')),
|
||
|
('cislo_body', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='hodnoceni', to='seminar.Cislo', verbose_name='číslo pro body')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Hodnocení',
|
||
|
'verbose_name_plural': 'Hodnocení',
|
||
|
'db_table': 'seminar_hodnoceni',
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Konfera',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('nazev', models.CharField(help_text='Název konfery', max_length=100, verbose_name='název konfery')),
|
||
|
('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')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka ke konfeře(plain text)', verbose_name='neveřejná poznámka')),
|
||
|
('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=seminar.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=seminar.models.generate_filename_konfera, verbose_name='materialy')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Konfera',
|
||
|
'verbose_name_plural': 'Konfery',
|
||
|
'db_table': 'seminar_konfera',
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Organizator',
|
||
|
fields=[
|
||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
|
('vytvoreno', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False, verbose_name='Vytvořeno')),
|
||
|
('organizuje_od', models.DateTimeField(blank=True, null=True, verbose_name='Organizuje od')),
|
||
|
('organizuje_do', models.DateTimeField(blank=True, null=True, verbose_name='Organizuje do')),
|
||
|
('studuje', 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.')),
|
||
|
('strucny_popis_organizatora', models.TextField(blank=True, null=True, verbose_name='Stručný popis organizátora')),
|
||
|
('skola', 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')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Organizátor',
|
||
|
'verbose_name_plural': 'Organizátoři',
|
||
|
},
|
||
|
),
|
||
|
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.DO_NOTHING, 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='Problem',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('nazev', models.CharField(max_length=256, verbose_name='název')),
|
||
|
('stav', models.CharField(choices=[('navrh', 'Návrh'), ('zadany', 'Zadaný'), ('vyreseny', 'Vyřešený'), ('smazany', 'Smazaný')], default='navrh', max_length=32, verbose_name='stav problému')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejný návrh úlohy, návrh řešení, text zadání, poznámky ...', verbose_name='org poznámky (HTML)')),
|
||
|
('kod', 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')),
|
||
|
('vytvoreno', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False, verbose_name='vytvořeno')),
|
||
|
('autor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='autor_problemu_problem', to='seminar.Organizator', verbose_name='autor problému')),
|
||
|
('garant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='garant_problemu_problem', to='seminar.Organizator', verbose_name='garant zadaného problému')),
|
||
|
('nadproblem', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='nadproblem_problem', to='seminar.Problem', verbose_name='nadřazený problém')),
|
||
|
('opravovatele', models.ManyToManyField(blank=True, related_name='opravovatele_problem', to='seminar.Organizator', verbose_name='opravovatelé')),
|
||
|
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_seminar.problem_set+', to='contenttypes.ContentType')),
|
||
|
('zamereni', 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í')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Problém',
|
||
|
'verbose_name_plural': 'Problémy',
|
||
|
'db_table': 'seminar_problemy',
|
||
|
'ordering': ['nazev'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Reseni',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('cas_doruceni', models.DateTimeField(blank=True, default=django.utils.timezone.now, verbose_name='čas_doručení')),
|
||
|
('forma', 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í')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k řešení (plain text)', verbose_name='neveřejná poznámka')),
|
||
|
('zverejneno', models.BooleanField(default=False, help_text='Udává, zda je řešení zveřejněno', verbose_name='řešení zveřejněno')),
|
||
|
('problem', models.ManyToManyField(help_text='Problém', through='seminar.Hodnoceni', to='seminar.Problem', verbose_name='problém')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Řešení',
|
||
|
'verbose_name_plural': 'Řešení',
|
||
|
'db_table': 'seminar_reseni',
|
||
|
'ordering': ['-cas_doruceni'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Resitel',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('rok_maturity', models.IntegerField(blank=True, null=True, verbose_name='rok maturity')),
|
||
|
('zasilat', models.CharField(choices=[('domu', 'Domů'), ('do_skoly', 'Do školy'), ('nikam', 'Nikam')], default='domu', max_length=32, verbose_name='kam zasílat')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k řešiteli (plain text)', verbose_name='neveřejná poznámka')),
|
||
|
('osoba', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, to='seminar.Osoba', verbose_name='osoba')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Řešitel',
|
||
|
'verbose_name_plural': 'Řešitelé',
|
||
|
'db_table': 'seminar_resitele',
|
||
|
'ordering': ['osoba'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Rocnik',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('prvni_rok', models.IntegerField(db_index=True, unique=True, verbose_name='první rok')),
|
||
|
('rocnik', models.IntegerField(db_index=True, unique=True, verbose_name='číslo ročníku')),
|
||
|
('exportovat', 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')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Ročník',
|
||
|
'verbose_name_plural': 'Ročníky',
|
||
|
'db_table': 'seminar_rocniky',
|
||
|
'ordering': ['-rocnik'],
|
||
|
},
|
||
|
),
|
||
|
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')], 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')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Soustředění',
|
||
|
'verbose_name_plural': 'Soustředění',
|
||
|
'db_table': 'seminar_soustredeni',
|
||
|
'ordering': ['-rocnik__rocnik', '-datum_zacatku'],
|
||
|
},
|
||
|
),
|
||
|
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='TreeNode',
|
||
|
fields=[
|
||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
|
('first_child', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='seminar.TreeNode', verbose_name='první potomek')),
|
||
|
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_seminar.treenode_set+', to='contenttypes.ContentType')),
|
||
|
('root', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='potomci_set', to='seminar.TreeNode', verbose_name='kořen stromu')),
|
||
|
('succ', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='prev', to='seminar.TreeNode', verbose_name='další element na stejné úrovni')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'TreeNode',
|
||
|
'verbose_name_plural': 'TreeNody',
|
||
|
'db_table': 'seminar_nodes_treenode',
|
||
|
},
|
||
|
),
|
||
|
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='MezicisloNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Mezičíslo (Node)',
|
||
|
'verbose_name_plural': 'Mezičísla (Node)',
|
||
|
'db_table': 'seminar_nodes_mezicislo',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
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')),
|
||
|
('rocnik', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Rocnik', verbose_name='ročník')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Téma',
|
||
|
'verbose_name_plural': 'Témata',
|
||
|
'db_table': 'seminar_temata',
|
||
|
},
|
||
|
bases=('seminar.problem',),
|
||
|
),
|
||
|
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.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(on_delete=django.db.models.deletion.PROTECT, to='seminar.Resitel', verbose_name='řešitel')),
|
||
|
('soustredeni', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Soustredeni', verbose_name='soustředění')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Účast na soustředění',
|
||
|
'verbose_name_plural': 'Účasti na soustředění',
|
||
|
'db_table': 'seminar_soustredeni_ucastnici',
|
||
|
'ordering': ['soustredeni', 'resitel'],
|
||
|
},
|
||
|
),
|
||
|
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(on_delete=django.db.models.deletion.PROTECT, to='seminar.Organizator', verbose_name='organizátor')),
|
||
|
('soustredeni', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Soustredeni', verbose_name='soustředění')),
|
||
|
],
|
||
|
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'],
|
||
|
},
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='soustredeni',
|
||
|
name='organizatori',
|
||
|
field=models.ManyToManyField(help_text='Seznam organizátorů soustředění', through='seminar.Soustredeni_Organizatori', to='seminar.Organizator', verbose_name='Organizátoři soustředění'),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='soustredeni',
|
||
|
name='rocnik',
|
||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='soustredeni', to='seminar.Rocnik', verbose_name='ročník'),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='soustredeni',
|
||
|
name='ucastnici',
|
||
|
field=models.ManyToManyField(help_text='Seznam účastníků soustředění', through='seminar.Soustredeni_Ucastnici', to='seminar.Resitel', verbose_name='účastníci soustředění'),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Skola',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('aesop_id', models.CharField(blank=True, default='', help_text='Aesopi ID typu "izo:..." nebo "aesop:..."', max_length=32, verbose_name='Aesop ID')),
|
||
|
('izo', models.CharField(blank=True, help_text='IZO školy (jen české školy)', max_length=32, verbose_name='IZO')),
|
||
|
('nazev', models.CharField(help_text='Celý název školy', max_length=256, verbose_name='název')),
|
||
|
('kratky_nazev', models.CharField(blank=True, help_text='Zkrácený název pro zobrazení ve výsledkovce', max_length=256, verbose_name='zkrácený název')),
|
||
|
('ulice', models.CharField(max_length=256, verbose_name='ulice')),
|
||
|
('mesto', models.CharField(max_length=256, verbose_name='město')),
|
||
|
('psc', models.CharField(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')),
|
||
|
('je_zs', models.BooleanField(default=True, verbose_name='základní stupeň')),
|
||
|
('je_ss', models.BooleanField(default=True, verbose_name='střední stupeň')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka ke škole (plain text)', verbose_name='neveřejná poznámka')),
|
||
|
('kontaktni_osoba', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='seminar.Osoba', verbose_name='Kontaktní osoba')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Škola',
|
||
|
'verbose_name_plural': 'Školy',
|
||
|
'db_table': 'seminar_skoly',
|
||
|
'ordering': ['mesto', 'nazev'],
|
||
|
},
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='resitel',
|
||
|
name='skola',
|
||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='seminar.Skola', verbose_name='škola'),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Reseni_Resitele',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('reseni', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Reseni', verbose_name='řešení')),
|
||
|
('resitele', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Resitel', verbose_name='řešitel')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Řešení řešitelů',
|
||
|
'verbose_name_plural': 'Řešení řešitelů',
|
||
|
'db_table': 'seminar_reseni_resitele',
|
||
|
'ordering': ['reseni', 'resitele'],
|
||
|
},
|
||
|
),
|
||
|
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.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, 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.CreateModel(
|
||
|
name='PrilohaReseni',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('vytvoreno', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False, verbose_name='vytvořeno')),
|
||
|
('soubor', models.FileField(upload_to=seminar.models.generate_filename, verbose_name='soubor')),
|
||
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k příloze řešení (plain text), např. o původu', verbose_name='neveřejná poznámka')),
|
||
|
('reseni', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='prilohy', to='seminar.Reseni', verbose_name='řešení')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Příloha řešení',
|
||
|
'verbose_name_plural': 'Přílohy řešení',
|
||
|
'db_table': 'seminar_priloha_reseni',
|
||
|
'ordering': ['reseni', 'vytvoreno'],
|
||
|
},
|
||
|
),
|
||
|
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.OneToOneField(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='Pohadka',
|
||
|
fields=[
|
||
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
||
|
('vytvoreno', models.DateTimeField(blank=True, default=django.utils.timezone.now, editable=False, verbose_name='Vytvořeno')),
|
||
|
('autor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='seminar.Organizator', verbose_name='Autor pohádky')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Pohádka',
|
||
|
'verbose_name_plural': 'Pohádky',
|
||
|
'db_table': 'seminar_pohadky',
|
||
|
'ordering': ['vytvoreno'],
|
||
|
},
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='organizator',
|
||
|
name='osoba',
|
||
|
field=models.OneToOneField(help_text='osobní údaje organizátora', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='org', to='seminar.Osoba', verbose_name='osoba'),
|
||
|
),
|
||
|
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')),
|
||
|
('text', 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')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'obrázek',
|
||
|
'verbose_name_plural': 'obrázky',
|
||
|
'db_table': 'seminar_obrazky',
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Novinky',
|
||
|
fields=[
|
||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
|
('datum', models.DateField(auto_now_add=True)),
|
||
|
('text', models.TextField(blank=True, null=True, verbose_name='Text novinky')),
|
||
|
('obrazek', models.ImageField(blank=True, null=True, upload_to='image_novinky/%Y/%m/%d/', verbose_name='Obrázek')),
|
||
|
('zverejneno', models.BooleanField(default=False, verbose_name='Zveřejněno')),
|
||
|
('autor', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='seminar.Organizator', verbose_name='Autor novinky')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Novinka',
|
||
|
'verbose_name_plural': 'Novinky',
|
||
|
'ordering': ['-datum'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Nastaveni',
|
||
|
fields=[
|
||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
|
('aktualni_cislo', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Cislo', verbose_name='poslední vydané číslo')),
|
||
|
('aktualni_rocnik', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Rocnik', verbose_name='aktuální ročník')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Nastavení semináře',
|
||
|
'db_table': 'seminar_nastaveni',
|
||
|
},
|
||
|
),
|
||
|
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')),
|
||
|
('konfera', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Konfera', verbose_name='konfera')),
|
||
|
('resitel', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Resitel', verbose_name='řešitel')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Účast na konfeře',
|
||
|
'verbose_name_plural': 'Účasti na konfeře',
|
||
|
'db_table': 'seminar_konfery_ucastnici',
|
||
|
'ordering': ['konfera', 'resitel'],
|
||
|
},
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='konfera',
|
||
|
name='organizator',
|
||
|
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='konfery', to='seminar.Organizator', verbose_name='organizátor'),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='konfera',
|
||
|
name='reseni',
|
||
|
field=models.OneToOneField(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='konfera',
|
||
|
name='soustredeni',
|
||
|
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='konfery', to='seminar.Soustredeni', verbose_name='soustředění'),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='konfera',
|
||
|
name='ucastnici',
|
||
|
field=models.ManyToManyField(help_text='Seznam účastníků konfery', through='seminar.Konfery_Ucastnici', to='seminar.Resitel', verbose_name='účastníci konfery'),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='hodnoceni',
|
||
|
name='problem',
|
||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, 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='cislo',
|
||
|
name='rocnik',
|
||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='cisla', to='seminar.Rocnik', verbose_name='ročník'),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='UlohaZadaniNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('uloha', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Uloha', verbose_name='úloha')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Zadání úlohy (Node)',
|
||
|
'verbose_name_plural': 'Zadání úloh (Node)',
|
||
|
'db_table': 'seminar_nodes_uloha_zadani',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='UlohaVzorakNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('uloha', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Uloha', verbose_name='úloha')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Vzorák úlohy (Node)',
|
||
|
'verbose_name_plural': 'Vzoráky úloh (Node)',
|
||
|
'db_table': 'seminar_nodes_uloha_vzorak',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='uloha',
|
||
|
name='cislo_deadline',
|
||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, 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.PROTECT, 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.PROTECT, related_name='zadane_ulohy', to='seminar.Cislo', verbose_name='číslo zadání'),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='TextNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('text', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Text', verbose_name='text')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Text (Node)',
|
||
|
'verbose_name_plural': 'Text (Node)',
|
||
|
'db_table': 'seminar_nodes_obsah',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='TemaVCisleNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('tema', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='seminar.Tema', verbose_name='téma v čísle')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Téma v čísle (Node)',
|
||
|
'verbose_name_plural': 'Témata v čísle (Node)',
|
||
|
'db_table': 'seminar_nodes_temavcisle',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='RocnikNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('rocnik', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, to='seminar.Rocnik', verbose_name='ročník')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Ročník (Node)',
|
||
|
'verbose_name_plural': 'Ročníky (Node)',
|
||
|
'db_table': 'seminar_nodes_rocnik',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='PohadkaNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('pohadka', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, to='seminar.Pohadka', verbose_name='pohádka')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Pohádka (Node)',
|
||
|
'verbose_name_plural': 'Pohádky (Node)',
|
||
|
'db_table': 'seminar_nodes_pohadka',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='KonferaNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('konfera', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Konfera', verbose_name='konfera')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Konfera (Node)',
|
||
|
'verbose_name_plural': 'Konfery (Node)',
|
||
|
'db_table': 'seminar_nodes_konfera',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='ClanekNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('clanek', models.OneToOneField(null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Clanek', verbose_name='článek')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Článek (Node)',
|
||
|
'verbose_name_plural': 'Články (Node)',
|
||
|
'db_table': 'seminar_nodes_clanek',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
migrations.AddField(
|
||
|
model_name='clanek',
|
||
|
name='cislo',
|
||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='seminar.Cislo', verbose_name='číslo'),
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='CisloNode',
|
||
|
fields=[
|
||
|
('treenode_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.TreeNode')),
|
||
|
('cislo', models.OneToOneField(on_delete=django.db.models.deletion.PROTECT, to='seminar.Cislo', verbose_name='číslo')),
|
||
|
],
|
||
|
options={
|
||
|
'verbose_name': 'Číslo (Node)',
|
||
|
'verbose_name_plural': 'Čísla (Node)',
|
||
|
'db_table': 'seminar_nodes_cislo',
|
||
|
},
|
||
|
bases=('seminar.treenode',),
|
||
|
),
|
||
|
]
|