251 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			251 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import unicode_literals
 | |
| 
 | |
| from django.db import models, migrations
 | |
| import django_countries.fields
 | |
| import django.utils.timezone
 | |
| from django.conf import settings
 | |
| 
 | |
| from odevzdavatko.models import generate_filename
 | |
| 
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
| 
 | |
|     dependencies = [
 | |
|         migrations.swappable_dependency(settings.AUTH_USER_MODEL),
 | |
|     ]
 | |
| 
 | |
|     operations = [
 | |
|         migrations.CreateModel(
 | |
|             name='VysledkyKCislu',
 | |
|             fields=[
 | |
|                 ('dummy_id', models.CharField(max_length=32, serialize=False, verbose_name='dummy ID pro view', primary_key=True, db_column='id')),
 | |
|                 ('body', models.IntegerField(verbose_name='body za \u010d\xedslo', db_column='body')),
 | |
|                 ('body_celkem', models.IntegerField(verbose_name='body celkem do \u010d\xedsla', db_column='body_celkem')),
 | |
|             ],
 | |
|             options={
 | |
|                 'abstract': False,
 | |
|                 'db_table': 'seminar_body_k_cislu',
 | |
|                 'managed': False,
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='VysledkyZaCislo',
 | |
|             fields=[
 | |
|                 ('dummy_id', models.CharField(max_length=32, serialize=False, verbose_name='dummy ID pro view', primary_key=True, db_column='id')),
 | |
|                 ('body', models.IntegerField(verbose_name='body za \u010d\xedslo', db_column='body')),
 | |
|             ],
 | |
|             options={
 | |
|                 'abstract': False,
 | |
|                 'db_table': 'seminar_body_za_cislo',
 | |
|                 'managed': False,
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Cislo',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('cislo', models.CharField(help_text='V\u011bt\u0161inou jen "1", vyj\xedme\u010dn\u011b "7-8", lexikograficky ur\u010dije po\u0159ad\xed v ro\u010dn\xedku!', max_length=32, verbose_name='n\xe1zev \u010d\xedsla')),
 | |
|                 ('datum_vydani', models.DateField(help_text='Datum vyd\xe1n\xed fin\xe1ln\xed verze', null=True, verbose_name='datum vyd\xe1n\xed', blank=True)),
 | |
|                 ('datum_deadline', models.DateField(help_text='Datum pro p\u0159\xedjem \u0159e\u0161en\xed \xfaloh zadan\xfdch v tomto \u010d\xedsle', null=True, verbose_name='datum deadline', blank=True)),
 | |
|                 ('verejne_db', models.BooleanField(default=False, verbose_name='\u010d\xedslo zve\u0159ejn\u011bno', db_column='verejne')),
 | |
|             ],
 | |
|             options={
 | |
|                 'ordering': ['rocnik__rocnik', 'cislo'],
 | |
|                 'db_table': 'seminar_cisla',
 | |
|                 'verbose_name': '\u010c\xedslo',
 | |
|                 'verbose_name_plural': '\u010c\xedsla',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Nastaveni',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
 | |
|                 ('aktualni_cislo', models.ForeignKey(verbose_name='posledn\xed vydan\xe9 \u010d\xedslo', to='seminar.Cislo', on_delete=models.CASCADE)),
 | |
|             ],
 | |
|             options={
 | |
|                 'db_table': 'seminar_nastaveni',
 | |
|                 'verbose_name': 'Nastaven\xed semin\xe1\u0159e',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='PrilohaReseni',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('timestamp', models.DateTimeField(auto_now=True, verbose_name='vytvo\u0159eno')),
 | |
|                 ('soubor', models.FileField(upload_to=generate_filename, verbose_name='soubor')),
 | |
|                 ('poznamka', models.TextField(help_text='Neve\u0159ejn\xe1 pozn\xe1mka k p\u0159\xedloze \u0159e\u0161en\xed (plain text), nap\u0159. o p\u016fvodu', verbose_name='neve\u0159ejn\xe1 pozn\xe1mka', blank=True)),
 | |
|             ],
 | |
|             options={
 | |
|                 'ordering': ['reseni', 'timestamp'],
 | |
|                 'db_table': 'seminar_priloha_reseni',
 | |
|                 'verbose_name': 'P\u0159\xedloha \u0159e\u0161en\xed',
 | |
|                 'verbose_name_plural': 'P\u0159\xedlohy \u0159e\u0161en\xed',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Problem',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('nazev', models.CharField(max_length=256, verbose_name='n\xe1zev')),
 | |
|                 ('typ', models.CharField(default=b'uloha', max_length=32, verbose_name='typ probl\xe9mu', choices=[(b'uloha', '\xdaloha'), (b'tema', 'T\xe9ma'), (b'serial', 'Seri\xe1l'), (b'org-clanek', 'Organiz\xe1torsk\xfd \u010dl\xe1nek'), (b'res-clanek', '\u0158esitelsk\xfd \u010dl\xe1nek')])),
 | |
|                 ('stav', models.CharField(default=b'navrh', max_length=32, verbose_name='stav probl\xe9mu', choices=[(b'navrh', 'N\xe1vrh'), (b'zadany', 'Zadan\xfd'), (b'smazany', 'Smazan\xfd')])),
 | |
|                 ('text_problemu_org', models.TextField(verbose_name='organiz\xe1torsk\xfd (neve\u0159ejn\xfd) text', blank=True)),
 | |
|                 ('text_problemu', models.TextField(verbose_name='ve\u0159ejn\xfd text zad\xe1n\xed a \u0159e\u0161en\xed', blank=True)),
 | |
|                 ('kod', models.CharField(default=b'', help_text='\u010c\xedslo/k\xf3d \xfalohy v \u010d\xedsle nebo k\xf3d t\xe9matu/\u010dl\xe1nku/seri\xe1lu v ro\u010dn\xedku', max_length=32, verbose_name='lok\xe1ln\xed k\xf3d', blank=True)),
 | |
|                 ('body', models.IntegerField(null=True, verbose_name='maximum bod\u016f', blank=True)),
 | |
|                 ('autor', models.ForeignKey(related_name='autor_uloh', verbose_name='autor probl\xe9mu', to=settings.AUTH_USER_MODEL, on_delete=models.CASCADE)),
 | |
|                 ('cislo_reseni', models.ForeignKey(related_name='resene_problemy', blank=True, to='seminar.Cislo', help_text='\u010c\xedslo s \u0159e\u0161en\xedm \xfalohy, jen pro \xfalohy', null=True, verbose_name='\u010d\xedslo \u0159e\u0161en\xed', on_delete=models.CASCADE)),
 | |
|                 ('cislo_zadani', models.ForeignKey(related_name='zadane_problemy', verbose_name='\u010d\xedslo zad\xe1n\xed', blank=True, to='seminar.Cislo', null=True, on_delete=models.CASCADE)),
 | |
|                 ('opravovatel', models.ForeignKey(related_name='opravovatel_uloh', verbose_name='opravovatel', blank=True, to=settings.AUTH_USER_MODEL, null=True, on_delete=models.CASCADE)),
 | |
|             ],
 | |
|             options={
 | |
|                 'db_table': 'seminar_problemy',
 | |
|                 'verbose_name': 'Probl\xe9m',
 | |
|                 'verbose_name_plural': 'Probl\xe9my',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Reseni',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('body', models.IntegerField(null=True, verbose_name='body', blank=True)),
 | |
|                 ('timestamp', models.DateTimeField(auto_now=True, verbose_name='vytvo\u0159eno')),
 | |
|                 ('poznamka', models.TextField(help_text='Neve\u0159ejn\xe1 pozn\xe1mka k \u0159e\u0161en\xed (plain text)', verbose_name='neve\u0159ejn\xe1 pozn\xe1mka', blank=True)),
 | |
|                 ('cislo_body', models.ForeignKey(related_name='bodovana_reseni', verbose_name='\u010d\xedslo pro body', blank=True, to='seminar.Cislo', null=True, on_delete=models.CASCADE)),
 | |
|                 ('problem', models.ForeignKey(related_name='reseni', verbose_name='probl\xe9m', to='seminar.Problem', on_delete=models.CASCADE)),
 | |
|             ],
 | |
|             options={
 | |
|                 'ordering': ['problem', 'resitel'],
 | |
|                 'db_table': 'seminar_reseni',
 | |
|                 'verbose_name': '\u0158e\u0161en\xed',
 | |
|                 'verbose_name_plural': '\u0158e\u0161en\xed',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Resitel',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('jmeno', models.CharField(max_length=256, verbose_name='jm\xe9no')),
 | |
|                 ('prijmeni', models.CharField(max_length=256, verbose_name='p\u0159\xedjmen\xed')),
 | |
|                 ('pohlavi_muz', models.BooleanField(default=False, verbose_name='pohlav\xed (mu\u017e)')),
 | |
|                 ('rok_maturity', models.IntegerField(verbose_name='rok maturity')),
 | |
|                 ('email', models.EmailField(default=b'', max_length=256, verbose_name='e-mail', blank=True)),
 | |
|                 ('telefon', models.CharField(default=b'', max_length=256, verbose_name='telefon', blank=True)),
 | |
|                 ('datum_narozeni', models.DateField(null=True, verbose_name='datum narozen\xed', blank=True)),
 | |
|                 ('datum_souhlasu_udaje', models.DateField(help_text='Datum souhlasu se zpracov\xe1n\xedm osobn\xedch \xfadaj\u016f', null=True, verbose_name='datum souhlasu (\xfadaje)', blank=True)),
 | |
|                 ('datum_souhlasu_zasilani', models.DateField(help_text='Datum souhlasu se zas\xedl\xe1n\xedm MFF materi\xe1l\u016f', null=True, verbose_name='datum souhlasu (spam)', blank=True)),
 | |
|                 ('datum_prihlaseni', models.DateField(default=django.utils.timezone.now, verbose_name='datum p\u0159ihl\xe1\u0161en\xed')),
 | |
|                 ('zasilat', models.CharField(default=b'domu', max_length=32, verbose_name='kam zas\xedlat', choices=[(b'domu', 'Dom\u016f'), (b'do_skoly', 'Do \u0161koly'), (b'nikam', 'Nikam')])),
 | |
|                 ('ulice', models.CharField(default=b'', max_length=256, verbose_name='ulice', blank=True)),
 | |
|                 ('mesto', models.CharField(default=b'', max_length=256, verbose_name='m\u011bsto', blank=True)),
 | |
|                 ('psc', models.CharField(default=b'', max_length=32, verbose_name='PS\u010c', blank=True)),
 | |
|                 ('stat', django_countries.fields.CountryField(default=b'CZ', help_text='ISO 3166-1 k\xf3d zem\u011b velk\xfdmi p\xedsmeny (CZ, SK, ...)', max_length=2, verbose_name='st\xe1t')),
 | |
|                 ('poznamka', models.TextField(help_text='Neve\u0159ejn\xe1 pozn\xe1mka k \u0159e\u0161iteli (plain text)', verbose_name='neve\u0159ejn\xe1 pozn\xe1mka', blank=True)),
 | |
|             ],
 | |
|             options={
 | |
|                 'ordering': ['prijmeni', 'jmeno'],
 | |
|                 'db_table': 'seminar_resitele',
 | |
|                 'verbose_name': '\u0158e\u0161itel',
 | |
|                 'verbose_name_plural': '\u0158e\u0161itel\xe9',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Rocnik',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('prvni_rok', models.IntegerField(verbose_name='prvn\xed rok')),
 | |
|                 ('rocnik', models.CharField(max_length=16, verbose_name='\u010d\xedslo ro\u010dn\xedku')),
 | |
|             ],
 | |
|             options={
 | |
|                 'ordering': ['rocnik'],
 | |
|                 'db_table': 'seminar_rocniky',
 | |
|                 'verbose_name': 'Ro\u010dn\xedk',
 | |
|                 'verbose_name_plural': 'Ro\u010dn\xedky',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Skola',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('aesop_id', models.CharField(default=b'', help_text='Aesopi ID typu "izo:..." nebo "aesop:..."', max_length=32, verbose_name='Aesop ID', blank=True)),
 | |
|                 ('izo', models.CharField(help_text='IZO \u0161koly (jen \u010desk\xe9 \u0161koly)', max_length=32, verbose_name='IZO', blank=True)),
 | |
|                 ('nazev', models.CharField(help_text='Cel\xfd n\xe1zev \u0161koly', max_length=256, verbose_name='n\xe1zev')),
 | |
|                 ('kratky_nazev', models.CharField(help_text=b'Zkr\xc3\xa1cen\xc3\xbd n\xc3\xa1zev pro zobrazen\xc3\xad ve v\xc3\xbdsledkovce', max_length=256, verbose_name='zkr\xe1cen\xfd n\xe1zev', blank=True)),
 | |
|                 ('ulice', models.CharField(max_length=256, verbose_name='ulice')),
 | |
|                 ('mesto', models.CharField(max_length=256, verbose_name='m\u011bsto')),
 | |
|                 ('psc', models.CharField(max_length=32, verbose_name='PS\u010c')),
 | |
|                 ('stat', django_countries.fields.CountryField(default=b'CZ', help_text='ISO 3166-1 k\xf3d zeme velk\xfdmi p\xedsmeny (CZ, SK, ...)', max_length=2, verbose_name='st\xe1t')),
 | |
|                 ('poznamka', models.TextField(help_text='Neve\u0159ejn\xe1 pozn\xe1mka ke \u0161kole (plain text)', verbose_name='neve\u0159ejn\xe1 pozn\xe1mka', blank=True)),
 | |
|             ],
 | |
|             options={
 | |
|                 'db_table': 'seminar_skoly',
 | |
|                 'verbose_name': '\u0160kola',
 | |
|                 'verbose_name_plural': '\u0160koly',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Soustredeni',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(serialize=False, primary_key=True)),
 | |
|                 ('datum_zacatku', models.DateField(help_text='Prvn\xed den soust\u0159ed\u011bn\xed', null=True, verbose_name='datum za\u010d\xe1tku', blank=True)),
 | |
|                 ('datum_konce', models.DateField(help_text='Posledn\xed den soust\u0159ed\u011bn\xed', null=True, verbose_name='datum konce', blank=True)),
 | |
|                 ('verejne_db', models.BooleanField(default=False, verbose_name='soust\u0159ed\u011bn\xed zve\u0159ejn\u011bno', db_column='verejne')),
 | |
|                 ('misto', models.CharField(default=b'', help_text='M\xedsto (n\xe1zev obce, voliteln\u011b t\xe9\u017e objektu', max_length=256, verbose_name='m\xedsto soust\u0159ed\u011bn\xed', blank=True)),
 | |
|                 ('rocnik', models.ForeignKey(related_name='soustredeni', verbose_name='ro\u010dn\xedk', to='seminar.Rocnik', on_delete=models.CASCADE)),
 | |
|                 ('ucastnici', models.ManyToManyField(help_text='Seznam \xfa\u010dastn\xedk\u016f soust\u0159ed\u011bn\xed', to='seminar.Resitel', db_table='seminar_soustredeni_ucastnici', verbose_name='\xfa\u010dastn\xedci soust\u0159ed\u011bn\xed')),
 | |
|             ],
 | |
|             options={
 | |
|                 'ordering': ['rocnik__rocnik', 'datum_zacatku'],
 | |
|                 'db_table': 'seminar_soustredeni',
 | |
|                 'verbose_name': 'Soust\u0159ed\u011bn\xed',
 | |
|                 'verbose_name_plural': 'Soust\u0159ed\u011bn\xed',
 | |
|             },
 | |
|             bases=(models.Model,),
 | |
|         ),
 | |
|         migrations.AddField(
 | |
|             model_name='resitel',
 | |
|             name='skola',
 | |
|             field=models.ForeignKey(verbose_name='\u0161kola', blank=True, to='seminar.Skola', null=True, on_delete=models.CASCADE),
 | |
|             preserve_default=True,
 | |
|         ),
 | |
|         migrations.AddField(
 | |
|             model_name='resitel',
 | |
|             name='user',
 | |
|             field=models.OneToOneField(null=True, blank=True, to=settings.AUTH_USER_MODEL, verbose_name='u\u017eivatel', on_delete=models.CASCADE),
 | |
|             preserve_default=True,
 | |
|         ),
 | |
|         migrations.AddField(
 | |
|             model_name='reseni',
 | |
|             name='resitel',
 | |
|             field=models.ForeignKey(related_name='reseni', verbose_name='\u0159e\u0161itel', to='seminar.Resitel', on_delete=models.CASCADE),
 | |
|             preserve_default=True,
 | |
|         ),
 | |
|         migrations.AddField(
 | |
|             model_name='prilohareseni',
 | |
|             name='reseni',
 | |
|             field=models.ForeignKey(related_name='prilohy', verbose_name='\u0159e\u0161en\xed', to='seminar.Reseni', on_delete=models.CASCADE),
 | |
|             preserve_default=True,
 | |
|         ),
 | |
|         migrations.AddField(
 | |
|             model_name='nastaveni',
 | |
|             name='aktualni_rocnik',
 | |
|             field=models.ForeignKey(verbose_name='aktu\xe1ln\xed ro\u010dn\xedk', to='seminar.Rocnik', on_delete=models.CASCADE),
 | |
|             preserve_default=True,
 | |
|         ),
 | |
|         migrations.AddField(
 | |
|             model_name='cislo',
 | |
|             name='rocnik',
 | |
|             field=models.ForeignKey(related_name='cisla', verbose_name='ro\u010dn\xedk', to='seminar.Rocnik', on_delete=models.CASCADE),
 | |
|             preserve_default=True,
 | |
|         ),
 | |
|     ]
 |