146 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Generated by Django 4.2.8 on 2024-03-12 21:10
 | |
| 
 | |
| from django.db import migrations, models
 | |
| import django.utils.timezone
 | |
| import django_countries.fields
 | |
| import imagekit.models.fields
 | |
| 
 | |
| from django.conf import settings
 | |
| import django.db.models.deletion
 | |
| 
 | |
| def nastav_nove_contenttypes(apps, schema_editor):
 | |
|     ContentType = apps.get_model('contenttypes', 'ContentType')
 | |
|     for m in ('resitel', 'organizator', 'osoba', 'skola', 'prijemce'):
 | |
|         oct = ContentType.objects.filter(app_label='seminar', model=m)
 | |
|         oct.update(app_label='personalni')
 | |
| 
 | |
| def nastav_stare_contenttypes(apps, schema_editor):
 | |
|     ContentType = apps.get_model('contenttypes', 'ContentType')
 | |
|     for m in ('resitel', 'organizator', 'osoba', 'skola', 'prijemce'):
 | |
|         nct = ContentType.objects.filter(app_label='personalni', model=m)
 | |
|         nct.update(app_label='seminar')
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
| 
 | |
|     initial = True
 | |
| 
 | |
|     dependencies = [
 | |
|         ('personalni', '0002_auto_20240312_2118'),
 | |
|         ('seminar', '0118_alter_organizator_options_alter_osoba_options_and_more'),
 | |
|     ]
 | |
| 
 | |
|     operations = [
 | |
|         migrations.RunPython(nastav_nove_contenttypes, nastav_stare_contenttypes),
 | |
|         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')),
 | |
|                 ('osoba', models.OneToOneField(help_text='osobní údaje organizátora', on_delete=django.db.models.deletion.PROTECT, related_name='org', to='personalni.osoba', verbose_name='osoba')),
 | |
|             ],
 | |
|             options={
 | |
|                 'verbose_name': 'Organizátor',
 | |
|                 'verbose_name_plural': 'Organizátoři',
 | |
|                 'db_table': 'seminar_organizator',
 | |
|                 'ordering': ['-organizuje_do', 'osoba__jmeno', 'osoba__prijmeni'],
 | |
|                 'managed': False,
 | |
|             },
 | |
|         ),
 | |
|         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(blank=True, max_length=256, null=True, 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')),
 | |
|                 ('jak_se_dozvedeli', models.TextField(blank=True, verbose_name='Jak se dozvěděli')),
 | |
|                 ('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'],
 | |
|                 'managed': False,
 | |
|             },
 | |
|         ),
 | |
|         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')),
 | |
|                 ('zasilat_cislo_emailem', models.BooleanField(default=False, help_text='True pokud chce příjemce dostávat číslo emailem', verbose_name='zasílat číslo emailem')),
 | |
|                 ('osoba', models.OneToOneField(help_text='Které osobě či na jakou adresu se mají zasílat čísla', on_delete=django.db.models.deletion.CASCADE, to='personalni.osoba', verbose_name='komu')),
 | |
|             ],
 | |
|             options={
 | |
|                 'verbose_name': 'příjemce',
 | |
|                 'verbose_name_plural': 'příjemce',
 | |
|                 'db_table': 'seminar_prijemce',
 | |
|                 'managed': False,
 | |
|             },
 | |
|         ),
 | |
|         migrations.CreateModel(
 | |
|             name='Resitel',
 | |
|             fields=[
 | |
|                 ('id', models.AutoField(primary_key=True, serialize=False)),
 | |
|                 ('prezdivka_resitele', models.CharField(blank=True, max_length=256, null=True, unique=True, verbose_name='přezdívka řešitele')),
 | |
|                 ('rok_maturity', models.IntegerField(blank=True, null=True, verbose_name='rok maturity')),
 | |
|                 ('zasilat', models.CharField(choices=[('domu', 'Domů'), ('do_skoly', 'Do školy'), ('nikam', 'Nezasílat papírově')], default='domu', max_length=32, verbose_name='kam zasílat')),
 | |
|                 ('zasilat_cislo_emailem', models.BooleanField(default=False, help_text='True pokud chce řešitel dostávat číslo emailem', verbose_name='zasílat číslo emailem')),
 | |
|                 ('zasilat_cislo_papirove', models.BooleanField(default=True, help_text='True pokud chce řešitel dostávat číslo papírově', verbose_name='zasílat číslo papírově')),
 | |
|                 ('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(on_delete=django.db.models.deletion.PROTECT, to='personalni.osoba', verbose_name='osoba')),
 | |
|                 ('skola', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='personalni.skola', verbose_name='škola')),
 | |
|             ],
 | |
|             options={
 | |
|                 'verbose_name': 'Řešitel',
 | |
|                 'verbose_name_plural': 'Řešitelé',
 | |
|                 'db_table': 'seminar_resitele',
 | |
|                 'ordering': ['osoba'],
 | |
|                 'managed': False,
 | |
|             },
 | |
|         ),
 | |
|         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='personalni.osoba', verbose_name='Kontaktní osoba')),
 | |
|             ],
 | |
|             options={
 | |
|                 'verbose_name': 'Škola',
 | |
|                 'verbose_name_plural': 'Školy',
 | |
|                 'db_table': 'seminar_skoly',
 | |
|                 'ordering': ['mesto', 'nazev'],
 | |
|                 'managed': False,
 | |
|             },
 | |
|         ),
 | |
|     ]
 | 
