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.
122 lines
7.8 KiB
122 lines
7.8 KiB
# Generated by Django 4.2.11 on 2024-04-30 22:53
|
|
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
import soustredeni.models
|
|
|
|
def nastav_nove_contenttypes(apps, schema_editor):
|
|
ContentType = apps.get_model('contenttypes', 'ContentType')
|
|
for m in ('konfera', 'soustredeni', 'soustredeni_ucastnici', 'soustredeni_organizatori', 'konfery_ucastnici'):
|
|
oct = ContentType.objects.filter(app_label='seminar', model=m)
|
|
oct.update(app_label='soustredeni')
|
|
|
|
def nastav_stare_contenttypes(apps, schema_editor):
|
|
ContentType = apps.get_model('contenttypes', 'ContentType')
|
|
for m in ('konfera', 'soustredeni', 'soustredeni_ucastnici', 'soustredeni_organizatori', 'konfery_ucastnici'):
|
|
nct = ContentType.objects.filter(app_label='soustredeni', model=m)
|
|
nct.update(app_label='seminar')
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('seminar', '0123_soustredeni_unmanage'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(nastav_nove_contenttypes, nastav_stare_contenttypes),
|
|
|
|
migrations.CreateModel(
|
|
name='Konfera',
|
|
fields=[
|
|
('problem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='seminar.problem')),
|
|
('anotace', models.TextField(blank=True, help_text='Popis, o čem bude konfera.', verbose_name='anotace')),
|
|
('abstrakt', models.TextField(blank=True, help_text='Abstrakt konfery tak, jak byl uveden ve sborníku', verbose_name='abstrakt')),
|
|
('typ_prezentace', models.CharField(choices=[('veletrh', 'Veletrh (postery)'), ('prezentace', 'Prezentace (přednáška)')], default='veletrh', max_length=16, verbose_name='typ prezentace')),
|
|
('prezentace', models.FileField(blank=True, help_text='Prezentace nebo fotka posteru', upload_to=soustredeni.models.generate_filename_konfera, verbose_name='prezentace')),
|
|
('materialy', models.FileField(blank=True, help_text='Další materiály ke konfeře zabalené do jednoho souboru', upload_to=soustredeni.models.generate_filename_konfera, verbose_name='materialy')),
|
|
('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.SET_NULL, null=True, related_name='konfery')),
|
|
('ucastnici', models.ManyToManyField(help_text='Seznam účastníků konfery', through='soustredeni.Konfery_Ucastnici', to='personalni.resitel', verbose_name='účastníci konfery')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Konfera',
|
|
'verbose_name_plural': 'Konfery',
|
|
'db_table': 'seminar_konfera',
|
|
'managed': False,
|
|
},
|
|
bases=('seminar.problem',),
|
|
),
|
|
migrations.CreateModel(
|
|
name='Konfery_Ucastnici',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti (plain text)', verbose_name='neveřejná poznámka')),
|
|
('resitel', models.ForeignKey(to='personalni.resitel', verbose_name='řešitel', on_delete=models.PROTECT)),
|
|
('konfera', models.ForeignKey(to='soustredeni.konfera', verbose_name='konfera', on_delete=models.CASCADE)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Účast na konfeře',
|
|
'verbose_name_plural': 'Účasti na konfeře',
|
|
'db_table': 'seminar_konfery_ucastnici',
|
|
'ordering': ['konfera', 'resitel'],
|
|
'managed': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Soustredeni',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('datum_zacatku', models.DateField(blank=True, help_text='První den soustředění', null=True, verbose_name='datum začátku')),
|
|
('datum_konce', models.DateField(blank=True, help_text='Poslední den soustředění', null=True, verbose_name='datum konce')),
|
|
('verejne_db', models.BooleanField(db_column='verejne', default=False, verbose_name='soustředění zveřejněno')),
|
|
('misto', models.CharField(blank=True, default='', help_text='Místo (název obce, volitelně též objektu', max_length=256, verbose_name='místo soustředění')),
|
|
('text', models.TextField(blank=True, default='', verbose_name='text k soustředění (HTML)')),
|
|
('typ', models.CharField(choices=[('jarni', 'Jarní soustředění'), ('podzimni', 'Podzimní soustředění'), ('vikend', 'Víkendový sraz'), ('vylet', 'Výlet')], default='podzimni', max_length=16, verbose_name='typ akce')),
|
|
('exportovat', models.BooleanField(db_column='exportovat', default=False, help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)', verbose_name='export do AESOPa')),
|
|
('rocnik', models.ForeignKey(to='seminar.rocnik', verbose_name='ročník', related_name='soustredeni', on_delete=models.PROTECT)),
|
|
('organizatori', models.ManyToManyField(help_text='Seznam organizátorů soustředění', through='soustredeni.Soustredeni_Organizatori', to='personalni.organizator', verbose_name='Organizátoři soustředění')),
|
|
('ucastnici', models.ManyToManyField(help_text='Seznam účastníků soustředění', through='soustredeni.Soustredeni_Ucastnici', to='personalni.resitel', verbose_name='účastníci soustředění')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Soustředění',
|
|
'verbose_name_plural': 'Soustředění',
|
|
'db_table': 'seminar_soustredeni',
|
|
'ordering': ['-rocnik__rocnik', '-datum_zacatku'],
|
|
'managed': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Soustredeni_Organizatori',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti organizátora (plain text)', verbose_name='neveřejná poznámka')),
|
|
('organizator', models.ForeignKey(to='personalni.organizator', verbose_name='organizátor', on_delete=models.PROTECT)),
|
|
('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.PROTECT)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Účast organizátorů na soustředění',
|
|
'verbose_name_plural': 'Účasti organizátorů na soustředění',
|
|
'db_table': 'seminar_soustredeni_organizatori',
|
|
'ordering': ['soustredeni', 'organizator'],
|
|
'managed': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Soustredeni_Ucastnici',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('poznamka', models.TextField(blank=True, help_text='Neveřejná poznámka k účasti (plain text)', verbose_name='neveřejná poznámka')),
|
|
('resitel', models.ForeignKey(to='personalni.resitel', verbose_name='řešitel', on_delete=models.PROTECT)),
|
|
('soustredeni', models.ForeignKey(to='soustredeni.soustredeni', verbose_name='soustředění', on_delete=models.PROTECT)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Účast na soustředění',
|
|
'verbose_name_plural': 'Účasti na soustředění',
|
|
'db_table': 'seminar_soustredeni_ucastnici',
|
|
'ordering': ['soustredeni', 'resitel'],
|
|
'managed': False,
|
|
},
|
|
),
|
|
]
|
|
|