diff --git a/home/migrations/0012_remove_homepage_documents_remove_homepage_events.py b/home/migrations/0012_remove_homepage_documents_remove_homepage_events.py index 7fc4351577938e3131c348a50fcff2e7f6215f6e..83d4e17d48cc7b0c7ec08b7692b46fd26dbd23e3 100644 --- a/home/migrations/0012_remove_homepage_documents_remove_homepage_events.py +++ b/home/migrations/0012_remove_homepage_documents_remove_homepage_events.py @@ -4,18 +4,17 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0011_alter_homedocumentpage_content_and_more'), + ("home", "0011_alter_homedocumentpage_content_and_more"), ] operations = [ migrations.RemoveField( - model_name='homepage', - name='documents', + model_name="homepage", + name="documents", ), migrations.RemoveField( - model_name='homepage', - name='events', + model_name="homepage", + name="events", ), ] diff --git a/home/migrations/0013_alter_homearticlepage_options_and_more.py b/home/migrations/0013_alter_homearticlepage_options_and_more.py index c853ed5b2245ff6172e98afb16aac3e0f4a3834c..bf0b0c0e77c94764f839e78b39d1feb730c1ffa7 100644 --- a/home/migrations/0013_alter_homearticlepage_options_and_more.py +++ b/home/migrations/0013_alter_homearticlepage_options_and_more.py @@ -4,58 +4,75 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('home', '0012_remove_homepage_documents_remove_homepage_events'), + ("home", "0012_remove_homepage_documents_remove_homepage_events"), ] operations = [ migrations.AlterModelOptions( - name='homearticlepage', - options={'verbose_name': 'Článek'}, + name="homearticlepage", + options={"verbose_name": "Článek"}, ), migrations.AlterModelOptions( - name='homedocumentpage', - options={'verbose_name': 'Dokument'}, + name="homedocumentpage", + options={"verbose_name": "Dokument"}, ), migrations.AlterModelOptions( - name='homeeventpage', - options={'verbose_name': 'Akce'}, + name="homeeventpage", + options={"verbose_name": "Akce"}, ), migrations.AddField( - model_name='homepage', - name='academic_council_description', - field=models.CharField(default='Akademická rada je poradním orgánem ústavu a v rámci své činnosti zejména poskytuje správní radě stanoviska k ideovému směřování, strategickým materiálům, rozpočtu a plánu činností ústavu. Dále vykonává akademická rada dohled nad ideovou a odbornou kvalitou výstupů ústavu.', verbose_name='Akademická rada - popis'), + model_name="homepage", + name="academic_council_description", + field=models.CharField( + default="Akademická rada je poradním orgánem ústavu a v rámci své činnosti zejména poskytuje správní radě stanoviska k ideovému směřování, strategickým materiálům, rozpočtu a plánu činností ústavu. Dále vykonává akademická rada dohled nad ideovou a odbornou kvalitou výstupů ústavu.", + verbose_name="Akademická rada - popis", + ), preserve_default=False, ), migrations.AddField( - model_name='homepage', - name='controller_description', - field=models.CharField(default='Kontrolor je kontrolním orgánem ústavu.', verbose_name='Kontrolor - popis'), + model_name="homepage", + name="controller_description", + field=models.CharField( + default="Kontrolor je kontrolním orgánem ústavu.", + verbose_name="Kontrolor - popis", + ), preserve_default=False, ), migrations.AddField( - model_name='homepage', - name='council_members_description', - field=models.CharField(default='Správní rada dbá o zachování účelu, pro nějž byl ústav založen, a dohlíží na řádné hospodaření s jeho majetkem.', verbose_name='Správní rada - popis'), + model_name="homepage", + name="council_members_description", + field=models.CharField( + default="Správní rada dbá o zachování účelu, pro nějž byl ústav založen, a dohlíží na řádné hospodaření s jeho majetkem.", + verbose_name="Správní rada - popis", + ), preserve_default=False, ), migrations.AddField( - model_name='homepage', - name='director_description', - field=models.CharField(default='Ředitel je statutárním orgánem ústavu, řídí jeho činnost, jedná jeho jménem a rozhoduje ve všech záležitostech, které nespadají do pravomoci jiných orgánů.', verbose_name='Ředitel - popis'), + model_name="homepage", + name="director_description", + field=models.CharField( + default="Ředitel je statutárním orgánem ústavu, řídí jeho činnost, jedná jeho jménem a rozhoduje ve všech záležitostech, které nespadají do pravomoci jiných orgánů.", + verbose_name="Ředitel - popis", + ), preserve_default=False, ), migrations.AddField( - model_name='homepage', - name='employees_description', - field=models.CharField(default='Zaměstnanci poskytují administrativní, organizační a expertní podporu pro vykonávání činností ústavu.', verbose_name='Zaměstnanci - popis'), + model_name="homepage", + name="employees_description", + field=models.CharField( + default="Zaměstnanci poskytují administrativní, organizační a expertní podporu pro vykonávání činností ústavu.", + verbose_name="Zaměstnanci - popis", + ), preserve_default=False, ), migrations.AddField( - model_name='homepage', - name='volunteers_description', - field=models.CharField(default='Dobrovolnický kruh je participační orgán ústavu. Účelem dobrovolnického kruhu je sdružovat osoby, které se chtějí dobrovolně podílet na činnostech ústavu, a navrhovat správní radě projekty pro realizaci ústavem v souladu s účelem ústavu.', verbose_name='Dobrovolníci - popis'), + model_name="homepage", + name="volunteers_description", + field=models.CharField( + default="Dobrovolnický kruh je participační orgán ústavu. Účelem dobrovolnického kruhu je sdružovat osoby, které se chtějí dobrovolně podílet na činnostech ústavu, a navrhovat správní radě projekty pro realizaci ústavem v souladu s účelem ústavu.", + verbose_name="Dobrovolníci - popis", + ), preserve_default=False, ), ] diff --git a/home/migrations/0014_alter_homepage_academic_council_description_and_more.py b/home/migrations/0014_alter_homepage_academic_council_description_and_more.py index 4d90e2c37a8f52d1686cda49a251fc960ee93fd4..3a440e080987d2711195a3094f058830a6f76235 100644 --- a/home/migrations/0014_alter_homepage_academic_council_description_and_more.py +++ b/home/migrations/0014_alter_homepage_academic_council_description_and_more.py @@ -4,40 +4,39 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('home', '0013_alter_homearticlepage_options_and_more'), + ("home", "0013_alter_homearticlepage_options_and_more"), ] operations = [ migrations.AlterField( - model_name='homepage', - name='academic_council_description', - field=models.TextField(verbose_name='Akademická rada - popis'), + model_name="homepage", + name="academic_council_description", + field=models.TextField(verbose_name="Akademická rada - popis"), ), migrations.AlterField( - model_name='homepage', - name='controller_description', - field=models.TextField(verbose_name='Kontrolor - popis'), + model_name="homepage", + name="controller_description", + field=models.TextField(verbose_name="Kontrolor - popis"), ), migrations.AlterField( - model_name='homepage', - name='council_members_description', - field=models.TextField(verbose_name='Správní rada - popis'), + model_name="homepage", + name="council_members_description", + field=models.TextField(verbose_name="Správní rada - popis"), ), migrations.AlterField( - model_name='homepage', - name='director_description', - field=models.TextField(verbose_name='Ředitel - popis'), + model_name="homepage", + name="director_description", + field=models.TextField(verbose_name="Ředitel - popis"), ), migrations.AlterField( - model_name='homepage', - name='employees_description', - field=models.TextField(verbose_name='Zaměstnanci - popis'), + model_name="homepage", + name="employees_description", + field=models.TextField(verbose_name="Zaměstnanci - popis"), ), migrations.AlterField( - model_name='homepage', - name='volunteers_description', - field=models.TextField(verbose_name='Dobrovolníci - popis'), + model_name="homepage", + name="volunteers_description", + field=models.TextField(verbose_name="Dobrovolníci - popis"), ), ] diff --git a/home/migrations/0015_alter_homepage_options.py b/home/migrations/0015_alter_homepage_options.py index e1a30adb1f5ca4f2840564a0594317da248491e9..05b7fcac2e947f4e0cfc1c4d5872d43e298692d5 100644 --- a/home/migrations/0015_alter_homepage_options.py +++ b/home/migrations/0015_alter_homepage_options.py @@ -4,14 +4,13 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0014_alter_homepage_academic_council_description_and_more'), + ("home", "0014_alter_homepage_academic_council_description_and_more"), ] operations = [ migrations.AlterModelOptions( - name='homepage', - options={'verbose_name': 'Domovská stránka'}, + name="homepage", + options={"verbose_name": "Domovská stránka"}, ), ] diff --git a/home/migrations/0016_homepeoplepage_homepersonpage.py b/home/migrations/0016_homepeoplepage_homepersonpage.py index 6bd66a90926a33612a89527878cfdc8bdb2c8e18..90a6d2e32e0f9c5bc0359deccf88de46cfbc7fb6 100644 --- a/home/migrations/0016_homepeoplepage_homepersonpage.py +++ b/home/migrations/0016_homepeoplepage_homepersonpage.py @@ -1,44 +1,102 @@ # Generated by Django 4.2.4 on 2023-08-12 19:00 -from django.db import migrations, models import django.db.models.deletion import wagtail.contrib.routable_page.models import wagtail.fields +from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('wagtailcore', '0083_workflowcontenttype'), - ('wagtailimages', '0025_alter_image_file_alter_rendition_file'), - ('home', '0015_alter_homepage_options'), + ("wagtailcore", "0083_workflowcontenttype"), + ("wagtailimages", "0025_alter_image_file_alter_rendition_file"), + ("home", "0015_alter_homepage_options"), ] operations = [ migrations.CreateModel( - name='HomePeoplePage', + name="HomePeoplePage", fields=[ - ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')), - ('content', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='Obsah')), + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ( + "content", + wagtail.fields.RichTextField( + blank=True, null=True, verbose_name="Obsah" + ), + ), ], options={ - 'verbose_name': 'Rozcestník uživatelů', + "verbose_name": "Rozcestník uživatelů", }, - bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), + bases=( + wagtail.contrib.routable_page.models.RoutablePageMixin, + "wagtailcore.page", + ), ), migrations.CreateModel( - name='HomePersonPage', + name="HomePersonPage", fields=[ - ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')), - ('name', models.CharField(max_length=64, verbose_name='Jméno')), - ('position', models.TextField(blank=True, null=True, verbose_name='Pracovní pozice')), - ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='Emailová adresa')), - ('description', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='Popis')), - ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image', verbose_name='Profilový obrázek')), + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.page", + ), + ), + ("name", models.CharField(max_length=64, verbose_name="Jméno")), + ( + "position", + models.TextField( + blank=True, null=True, verbose_name="Pracovní pozice" + ), + ), + ( + "email", + models.EmailField( + blank=True, + max_length=254, + null=True, + verbose_name="Emailová adresa", + ), + ), + ( + "description", + wagtail.fields.RichTextField( + blank=True, null=True, verbose_name="Popis" + ), + ), + ( + "image", + models.ForeignKey( + blank=True, + null=True, + on_delete=django.db.models.deletion.SET_NULL, + related_name="+", + to="wagtailimages.image", + verbose_name="Profilový obrázek", + ), + ), ], options={ - 'abstract': False, + "abstract": False, }, - bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'), + bases=( + wagtail.contrib.routable_page.models.RoutablePageMixin, + "wagtailcore.page", + ), ), ] diff --git a/home/migrations/0017_alter_homepeoplepage_options_and_more.py b/home/migrations/0017_alter_homepeoplepage_options_and_more.py index 3aa1d0c99534947fa6c231e1c9b6333c2e7f0e8a..44d437a75a799b21b43da5f3bf68cb46f4c241b8 100644 --- a/home/migrations/0017_alter_homepeoplepage_options_and_more.py +++ b/home/migrations/0017_alter_homepeoplepage_options_and_more.py @@ -4,18 +4,17 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0016_homepeoplepage_homepersonpage'), + ("home", "0016_homepeoplepage_homepersonpage"), ] operations = [ migrations.AlterModelOptions( - name='homepeoplepage', - options={'verbose_name': 'Rozcestník osob'}, + name="homepeoplepage", + options={"verbose_name": "Rozcestník osob"}, ), migrations.AlterModelOptions( - name='homepersonpage', - options={'verbose_name': 'Osoba'}, + name="homepersonpage", + options={"verbose_name": "Osoba"}, ), ] diff --git a/home/migrations/0018_remove_homepersonpage_name.py b/home/migrations/0018_remove_homepersonpage_name.py index 9a1c6701c3eae3719cc50c8295ed2a3d3aee1aca..0e57041f8dc1b89860cace9d4b13bfd1c3fee3a1 100644 --- a/home/migrations/0018_remove_homepersonpage_name.py +++ b/home/migrations/0018_remove_homepersonpage_name.py @@ -4,14 +4,13 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0017_alter_homepeoplepage_options_and_more'), + ("home", "0017_alter_homepeoplepage_options_and_more"), ] operations = [ migrations.RemoveField( - model_name='homepersonpage', - name='name', + model_name="homepersonpage", + name="name", ), ] diff --git a/home/migrations/0019_alter_homepage_controller_and_more.py b/home/migrations/0019_alter_homepage_controller_and_more.py index c13331f77d51fa4389f8eda697f597158dcb1032..9708cd7031f0fd92e7a9cdff8d0e2aa8a88e7550 100644 --- a/home/migrations/0019_alter_homepage_controller_and_more.py +++ b/home/migrations/0019_alter_homepage_controller_and_more.py @@ -1,40 +1,204 @@ # Generated by Django 4.2.4 on 2023-08-12 19:21 -from django.db import migrations import wagtail.blocks import wagtail.fields +from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0018_remove_homepersonpage_name'), + ("home", "0018_remove_homepersonpage_name"), ] operations = [ migrations.AlterField( - model_name='homepage', - name='controller', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'), + model_name="homepage", + name="controller", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + page_type=["home.HomePersonPage"] + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Kontrolor", + ), ), migrations.AlterField( - model_name='homepage', - name='council_members', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'), + model_name="homepage", + name="council_members", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + page_type=["home.HomePersonPage"] + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Správní rada", + ), ), migrations.AlterField( - model_name='homepage', - name='director', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'), + model_name="homepage", + name="director", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + page_type=["home.HomePersonPage"] + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Ředitel", + ), ), migrations.AlterField( - model_name='homepage', - name='employees', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'), + model_name="homepage", + name="employees", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + page_type=["home.HomePersonPage"] + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Zaměstnanci", + ), ), migrations.AlterField( - model_name='homepage', - name='volunteers', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'), + model_name="homepage", + name="volunteers", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + page_type=["home.HomePersonPage"] + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Dobrovolníci", + ), ), ] diff --git a/home/migrations/0020_homearticlepage_author_page_and_more.py b/home/migrations/0020_homearticlepage_author_page_and_more.py index bc9d6a820bc0365a39264ee69fe689a8429cfc32..6652022f15ec7e59363c77dd8dfe003cb2149df1 100644 --- a/home/migrations/0020_homearticlepage_author_page_and_more.py +++ b/home/migrations/0020_homearticlepage_author_page_and_more.py @@ -1,71 +1,272 @@ # Generated by Django 4.2.4 on 2023-08-12 19:27 -from django.db import migrations, models import django.db.models.deletion import wagtail.blocks import wagtail.fields +from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('home', '0019_alter_homepage_controller_and_more'), + ("home", "0019_alter_homepage_controller_and_more"), ] operations = [ migrations.AddField( - model_name='homearticlepage', - name='author_page', - field=models.ForeignKey(blank=True, help_text='Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='home.homepersonpage', verbose_name='Stránka autora'), + model_name="homearticlepage", + name="author_page", + field=models.ForeignKey( + blank=True, + help_text="Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="home.homepersonpage", + verbose_name="Stránka autora", + ), ), migrations.AddField( - model_name='homedocumentpage', - name='author_page', - field=models.ForeignKey(blank=True, help_text='Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='home.homepersonpage', verbose_name='Stránka autora'), + model_name="homedocumentpage", + name="author_page", + field=models.ForeignKey( + blank=True, + help_text="Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="home.homepersonpage", + verbose_name="Stránka autora", + ), ), migrations.AddField( - model_name='homeeventpage', - name='author_page', - field=models.ForeignKey(blank=True, help_text='Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='home.homepersonpage', verbose_name='Stránka autora'), + model_name="homeeventpage", + name="author_page", + field=models.ForeignKey( + blank=True, + help_text="Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="home.homepersonpage", + verbose_name="Stránka autora", + ), ), migrations.AlterField( - model_name='homearticlepage', - name='author', - field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno autora'), + model_name="homearticlepage", + name="author", + field=models.CharField( + blank=True, max_length=128, null=True, verbose_name="Jméno autora" + ), ), migrations.AlterField( - model_name='homedocumentpage', - name='author', - field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno autora'), + model_name="homedocumentpage", + name="author", + field=models.CharField( + blank=True, max_length=128, null=True, verbose_name="Jméno autora" + ), ), migrations.AlterField( - model_name='homeeventpage', - name='author', - field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno autora'), + model_name="homeeventpage", + name="author", + field=models.CharField( + blank=True, max_length=128, null=True, verbose_name="Jméno autora" + ), ), migrations.AlterField( - model_name='homepage', - name='controller', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'), + model_name="homepage", + name="controller", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Kontrolor", + ), ), migrations.AlterField( - model_name='homepage', - name='council_members', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'), + model_name="homepage", + name="council_members", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Správní rada", + ), ), migrations.AlterField( - model_name='homepage', - name='director', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'), + model_name="homepage", + name="director", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Ředitel", + ), ), migrations.AlterField( - model_name='homepage', - name='employees', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'), + model_name="homepage", + name="employees", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Zaměstnanci", + ), ), migrations.AlterField( - model_name='homepage', - name='volunteers', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'), + model_name="homepage", + name="volunteers", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Dobrovolníci", + ), ), ] diff --git a/home/migrations/0021_alter_homepage_controller_and_more.py b/home/migrations/0021_alter_homepage_controller_and_more.py index 946cb281e320f8b84b0982aa1ecc189b1b6294fd..775c872a64f3a75b8432b79ca0a68bc421a5bba9 100644 --- a/home/migrations/0021_alter_homepage_controller_and_more.py +++ b/home/migrations/0021_alter_homepage_controller_and_more.py @@ -1,40 +1,114 @@ # Generated by Django 4.2.4 on 2023-08-12 19:39 -from django.db import migrations import wagtail.blocks import wagtail.fields +from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0020_homearticlepage_author_page_and_more'), + ("home", "0020_homearticlepage_author_page_and_more"), ] operations = [ migrations.AlterField( - model_name='homepage', - name='controller', - field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'), + model_name="homepage", + name="controller", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Kontrolor", + ), ), migrations.AlterField( - model_name='homepage', - name='council_members', - field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'), + model_name="homepage", + name="council_members", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Správní rada", + ), ), migrations.AlterField( - model_name='homepage', - name='director', - field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'), + model_name="homepage", + name="director", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Ředitel", + ), ), migrations.AlterField( - model_name='homepage', - name='employees', - field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'), + model_name="homepage", + name="employees", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Zaměstnanci", + ), ), migrations.AlterField( - model_name='homepage', - name='volunteers', - field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'), + model_name="homepage", + name="volunteers", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ) + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Dobrovolníci", + ), ), ] diff --git a/home/migrations/0022_alter_homepage_controller_and_more.py b/home/migrations/0022_alter_homepage_controller_and_more.py index f58c59950cf30c93363d37691ddff4f791a27fa0..7b94b2761f6f201cdfbaba209773c724aa7613c7 100644 --- a/home/migrations/0022_alter_homepage_controller_and_more.py +++ b/home/migrations/0022_alter_homepage_controller_and_more.py @@ -1,40 +1,214 @@ # Generated by Django 4.2.4 on 2023-08-12 19:49 -from django.db import migrations import wagtail.blocks import wagtail.fields +from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('home', '0021_alter_homepage_controller_and_more'), + ("home", "0021_alter_homepage_controller_and_more"), ] operations = [ migrations.AlterField( - model_name='homepage', - name='controller', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'), + model_name="homepage", + name="controller", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Kontrolor", + ), ), migrations.AlterField( - model_name='homepage', - name='council_members', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'), + model_name="homepage", + name="council_members", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Správní rada", + ), ), migrations.AlterField( - model_name='homepage', - name='director', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'), + model_name="homepage", + name="director", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Ředitel", + ), ), migrations.AlterField( - model_name='homepage', - name='employees', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'), + model_name="homepage", + name="employees", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Zaměstnanci", + ), ), migrations.AlterField( - model_name='homepage', - name='volunteers', - field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'), + model_name="homepage", + name="volunteers", + field=wagtail.fields.StreamField( + [ + ( + "person", + wagtail.blocks.StructBlock( + [ + ("name", wagtail.blocks.CharBlock(label="Jméno")), + ( + "position", + wagtail.blocks.TextBlock( + label="Pracovní pozice", required=False + ), + ), + ( + "email", + wagtail.blocks.EmailBlock( + label="E-mailová adresa", required=False + ), + ), + ] + ), + ), + ( + "person_page", + wagtail.blocks.PageChooserBlock( + icon="user", + label="Stránka osoby", + page_type=["home.HomePersonPage"], + ), + ), + ], + blank=True, + null=True, + use_json_field=True, + verbose_name="Dobrovolníci", + ), ), ] diff --git a/home/migrations/0023_homepage_academic_council.py b/home/migrations/0023_homepage_academic_council.py new file mode 100644 index 0000000000000000000000000000000000000000..b1beb680c607afdd26ab3e7fbeb2c24ec423803b --- /dev/null +++ b/home/migrations/0023_homepage_academic_council.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.4 on 2023-08-15 17:01 + +from django.db import migrations +import wagtail.blocks +import wagtail.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0022_alter_homepage_controller_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='homepage', + name='academic_council', + field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Akademická rada'), + ), + ] diff --git a/home/models.py b/home/models.py index c939d03443473c9cdf82d271e7ad95af9ae53a8d..a63771e9778114f9e0124b9278344b012052e4fc 100644 --- a/home/models.py +++ b/home/models.py @@ -1,6 +1,11 @@ from django.db import models from django.utils import timezone -from wagtail.admin.panels import FieldPanel, MultiFieldPanel, TabbedInterface, ObjectList +from wagtail.admin.panels import ( + FieldPanel, + MultiFieldPanel, + ObjectList, + TabbedInterface, +) from wagtail.blocks import PageChooserBlock from wagtail.contrib.routable_page.models import RoutablePageMixin, path from wagtail.documents import get_document_model @@ -28,113 +33,113 @@ class HomePage(RoutablePageMixin, Page): director = StreamField( [ - ( - "person", - PersonBlock() - ), + ("person", PersonBlock()), ( "person_page", - PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user") - ) + PageChooserBlock( + page_type="home.HomePersonPage", label="Stránka osoby", icon="user" + ), + ), ], verbose_name="Ředitel", use_json_field=True, blank=True, null=True, ) - director_description = models.TextField( - verbose_name="Ředitel - popis" - ) + director_description = models.TextField(verbose_name="Ředitel - popis") + academic_council = StreamField( + [ + ("person", PersonBlock()), + ( + "person_page", + PageChooserBlock( + page_type="home.HomePersonPage", label="Stránka osoby", icon="user" + ), + ), + ], + verbose_name="Akademická rada", + use_json_field=True, + blank=True, + null=True, + ) academic_council_description = models.TextField( verbose_name="Akademická rada - popis" ) controller = StreamField( [ - ( - "person", - PersonBlock() - ), + ("person", PersonBlock()), ( "person_page", - PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user") - ) + PageChooserBlock( + page_type="home.HomePersonPage", label="Stránka osoby", icon="user" + ), + ), ], verbose_name="Kontrolor", use_json_field=True, blank=True, null=True, ) - controller_description = models.TextField( - verbose_name="Kontrolor - popis" - ) + controller_description = models.TextField(verbose_name="Kontrolor - popis") council_members = StreamField( [ - ( - "person", - PersonBlock() - ), + ("person", PersonBlock()), ( "person_page", - PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user") - ) + PageChooserBlock( + page_type="home.HomePersonPage", label="Stránka osoby", icon="user" + ), + ), ], verbose_name="Správní rada", use_json_field=True, blank=True, null=True, ) - council_members_description = models.TextField( - verbose_name="Správní rada - popis" - ) + council_members_description = models.TextField(verbose_name="Správní rada - popis") volunteers = StreamField( [ - ( - "person", - PersonBlock() - ), + ("person", PersonBlock()), ( "person_page", - PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user") - ) + PageChooserBlock( + page_type="home.HomePersonPage", label="Stránka osoby", icon="user" + ), + ), ], verbose_name="Dobrovolníci", use_json_field=True, blank=True, null=True, ) - volunteers_description = models.TextField( - verbose_name="Dobrovolníci - popis" - ) + volunteers_description = models.TextField(verbose_name="Dobrovolníci - popis") employees = StreamField( [ - ( - "person", - PersonBlock() - ), + ("person", PersonBlock()), ( "person_page", - PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user") - ) + PageChooserBlock( + page_type="home.HomePersonPage", label="Stránka osoby", icon="user" + ), + ), ], verbose_name="Zaměstnanci", use_json_field=True, blank=True, null=True, ) - employees_description = models.TextField( - verbose_name="Zaměstnanci - popis" - ) + employees_description = models.TextField(verbose_name="Zaměstnanci - popis") subpage_types = [ "home.HomeArticlesPage", "home.HomeEventsPage", "home.HomeDocumentsPage", - "home.HomePeoplePage" + "home.HomePeoplePage", ] intro_panels = Page.content_panels + [ @@ -148,33 +153,31 @@ class HomePage(RoutablePageMixin, Page): FieldPanel("ds_id", icon="mail"), ], heading="Kontaktní údaje", - ) + ), ] people_panels = [ FieldPanel("director_description", icon="pilcrow"), FieldPanel("director", icon="user"), - FieldPanel("academic_council_description"), - + FieldPanel("academic_council", icon="user"), FieldPanel("controller_description", icon="pilcrow"), FieldPanel("controller", icon="user"), - FieldPanel("council_members_description", icon="pilcrow"), FieldPanel("council_members", icon="group"), - FieldPanel("volunteers_description", icon="pilcrow"), FieldPanel("volunteers", icon="group"), - FieldPanel("employees_description", icon="pilcrow"), FieldPanel("employees", icon="group"), ] - edit_handler = TabbedInterface([ - ObjectList(intro_panels, heading="Základy"), - ObjectList(people_panels, heading="Lidé"), - ObjectList(Page.promote_panels, heading="Propagace"), - ]) + edit_handler = TabbedInterface( + [ + ObjectList(intro_panels, heading="Základy"), + ObjectList(people_panels, heading="Lidé"), + ObjectList(Page.promote_panels, heading="Propagace"), + ] + ) # Articles @@ -200,11 +203,33 @@ class HomePage(RoutablePageMixin, Page): @property def documents_page(self) -> "HomeDocumentsPage": - return HomeDocumentsPage.objects.live().first() + return HomeDocumentsPage.objects.child_of(self).live().first() @property - def latest_documents(self) -> "QuerySet": - return HomeDocumentPage.objects.order_by("-date").live().all()[:4] + def latest_documents(self) -> list: + documents = list( + HomeDocumentPage.objects.child_of(self.documents_page) + .order_by("-date") + .live() + .all()[:4] + ) + + # Pad documents list so it's always 4 items long + documents += [None] * (4 - len(documents)) + + document_directories = list( + HomeDocumentsPage.objects.child_of(self.documents_page).live().all()[:4] + ) + + # Replace 0-4 last items in the list with directories + position_in_documents = 3 + + for document_directory in document_directories: + documents[position_in_documents] = document_directory + position_in_documents -= 1 + + # Then remove the Nones we padded the list with + return list(filter(lambda document: document is not None, documents)) # Feed @@ -262,7 +287,7 @@ class HomeDocumentsPage(RoutablePageMixin, Page): content = RichTextField(verbose_name="Obsah", blank=True, null=True) parent_page_type = ["home.HomePage"] - subpage_types = ["home.HomeDocumentPage"] + subpage_types = ["home.HomeDocumentPage", "home.HomeDocumentsPage"] content_panels = Page.content_panels + [ FieldPanel("content", icon="pilcrow"), @@ -270,7 +295,7 @@ class HomeDocumentsPage(RoutablePageMixin, Page): @property def documents(self): - return HomeDocumentPage.objects.live().order_by("-date").all() + return HomeDocumentPage.objects.child_of(self).live().order_by("-date").all() class Meta: verbose_name = "Rozcestník dokumentů" @@ -285,7 +310,7 @@ class HomeContentPageMixin(RoutablePageMixin, Page): blank=True, null=True, verbose_name="Stránka autora", - help_text="Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže." + help_text="Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.", ) author = models.CharField( @@ -307,7 +332,7 @@ class HomeContentPageMixin(RoutablePageMixin, Page): FieldPanel("author_page", icon="user"), FieldPanel("author", icon="user"), ], - heading="Autor" + heading="Autor", ), FieldPanel("date", icon="calendar"), FieldPanel("content", icon="pilcrow"), @@ -333,7 +358,7 @@ class HomeArticlePage(HomeContentPageMixin): FieldPanel("author_page", icon="user"), FieldPanel("author", icon="user"), ], - heading="Autor" + heading="Autor", ), FieldPanel("date", icon="calendar"), FieldPanel("perex", icon="pilcrow"), @@ -360,7 +385,7 @@ class HomeEventPage(HomeContentPageMixin): FieldPanel("author_page", icon="user"), FieldPanel("author", icon="user"), ], - heading="Autor" + heading="Autor", ), FieldPanel("content", icon="pilcrow"), ] @@ -385,7 +410,7 @@ class HomeDocumentPage(HomeContentPageMixin): FieldPanel("author_page", icon="user"), FieldPanel("author", icon="user"), ], - heading="Autor" + heading="Autor", ), FieldPanel("date", icon="calendar"), FieldPanel("content", icon="pilcrow"), @@ -423,8 +448,8 @@ class HomePersonPage(RoutablePageMixin, Page): null=True, blank=True, on_delete=models.SET_NULL, - related_name='+', - verbose_name="Profilový obrázek" + related_name="+", + verbose_name="Profilový obrázek", ) position = models.TextField(verbose_name="Pracovní pozice", blank=True, null=True) diff --git a/home/templates/home/home_page.html b/home/templates/home/home_page.html index 557d74f15334789b17efac0603a616ec2ce59679..03e0aad48dfdc39188a92d8a4a702515059fbfb8 100644 --- a/home/templates/home/home_page.html +++ b/home/templates/home/home_page.html @@ -243,8 +243,20 @@ <p> {{ page.academic_council_description }} </p> + + <ul class="flex flex-col gap-3"> + {% for block in page.academic_council %} + {% if block.block_type == "person" %} + {% include_block block %} + {% else %} + {% include "home/blocks/person_page_block.html" with page=block.value %} + {% endif %} + {% endfor %} + </ul> </section> + </div> + <div class="flex flex-col gap-5 font-serif"> <section class="flex flex-col gap-4"> <h3 class="text-2xl font-bold">Kontrolor</h3> <p> @@ -261,8 +273,6 @@ {% endfor %} </ul> </section> - </div> - <div class="font-serif"> <section class="flex flex-col gap-4"> <h3 class="text-2xl font-bold">Správní rada</h3> @@ -285,12 +295,7 @@ <section class="flex flex-col gap-4"> <h3 class="text-2xl font-bold">Dobrovolnický kruh</h3> <p> - Dobrovolnický kruh je participační orgán - ústavu. Účelem dobrovolnického kruhu je - sdružovat osoby, které se chtějí dobrovolně - podílet na činnostech ústavu, a navrhovat - správní radě projekty pro realizaci ústavem - v souladu s účelem ústavu. + {{ page.volunteers_description }} </p> <h4> <strong>Členové dobrovolnického kruhu</strong> @@ -313,9 +318,7 @@ <ul class="flex flex-col lg:grid lg:grid-cols-3 lg:grid-rows-3 gap-y-2 gap-x-4 grid-flow-col font-serif"> <p class="leading-5"> - Zaměstnanci poskytují administrativní,<br> - organizační a expertní podporu pro<br> - vykonávání činností ústavu. + {{ page.employees_description }} </p> {% for block in page.employees %}