diff --git a/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py b/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py index 1ae4a5d0d66910400141c1ce91d5fd07492d3ac0..19a2b7f7b919ac3226d4bf514bc77376acf3ea2a 100644 --- a/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py +++ b/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('czech_inspirational', '0007_czechinspirationalhomepage_title_suffix'), + ("czech_inspirational", "0007_czechinspirationalhomepage_title_suffix"), ] operations = [ migrations.AlterField( - model_name='czechinspirationalhomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="czechinspirationalhomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/district/migrations/0225_auto_20240613_1111.py b/district/migrations/0225_auto_20240613_1111.py index a71ba1afce9da85cef45b411f80f2d97847dc0c7..47d2510eeb3c588cc04c790ef85a2e27d672044d 100644 --- a/district/migrations/0225_auto_20240613_1111.py +++ b/district/migrations/0225_auto_20240613_1111.py @@ -6,10 +6,18 @@ from django.db import migrations def remove_old_program_pages(apps, schema_editor): DistrictElectionRootPage = apps.get_model("district", "DistrictElectionRootPage") DistrictProgramPage = apps.get_model("district", "DistrictProgramPage") - DistrictInteractiveProgramPage = apps.get_model("district", "DistrictInteractiveProgramPage") - DistrictElectionCampaignPage = apps.get_model("district", "DistrictElectionCampaignPage") - DistrictElectionProgramPage = apps.get_model("district", "DistrictElectionProgramPage") - DistrictPostElectionStrategyPage = apps.get_model("district", "DistrictPostElectionStrategyPage") + DistrictInteractiveProgramPage = apps.get_model( + "district", "DistrictInteractiveProgramPage" + ) + DistrictElectionCampaignPage = apps.get_model( + "district", "DistrictElectionCampaignPage" + ) + DistrictElectionProgramPage = apps.get_model( + "district", "DistrictElectionProgramPage" + ) + DistrictPostElectionStrategyPage = apps.get_model( + "district", "DistrictPostElectionStrategyPage" + ) for model in ( DistrictElectionRootPage, @@ -17,17 +25,14 @@ def remove_old_program_pages(apps, schema_editor): DistrictInteractiveProgramPage, DistrictElectionCampaignPage, DistrictElectionProgramPage, - DistrictPostElectionStrategyPage + DistrictPostElectionStrategyPage, ): model.objects.filter().delete() class Migration(migrations.Migration): - dependencies = [ - ('district', '0224_alter_districtpeoplepage_perex_col_1_and_more'), + ("district", "0224_alter_districtpeoplepage_perex_col_1_and_more"), ] - operations = [ - migrations.RunPython(remove_old_program_pages) - ] + operations = [migrations.RunPython(remove_old_program_pages)] diff --git a/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py b/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py index a92ef2664918e83ea628e27baafd836c56f7388f..983678990075af1b9d66a205280859aa65f5c9c5 100644 --- a/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py +++ b/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py @@ -7,53 +7,703 @@ from django.db import migrations class Migration(migrations.Migration): - dependencies = [ - ('district', '0225_auto_20240613_1111'), + ("district", "0225_auto_20240613_1111"), ] operations = [ migrations.RemoveField( - model_name='districtelectionprogrampage', - name='page_ptr', + model_name="districtelectionprogrampage", + name="page_ptr", ), migrations.RemoveField( - model_name='districtelectionrootpage', - name='page_ptr', + model_name="districtelectionrootpage", + name="page_ptr", ), migrations.RemoveField( - model_name='districtinteractiveprogrampage', - name='page_ptr', + model_name="districtinteractiveprogrampage", + name="page_ptr", ), migrations.RemoveField( - model_name='districtpostelectionstrategypage', - name='page_ptr', + model_name="districtpostelectionstrategypage", + name="page_ptr", ), migrations.RemoveField( - model_name='districtprogrampage', - name='page_ptr', + model_name="districtprogrampage", + name="page_ptr", ), migrations.AlterField( - model_name='districtnewprogrampage', - name='program', - field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('program_group_with_candidates', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('preamble_content', wagtail.blocks.RichTextBlock(help_text='Text, který se zobrazí před přepínačem mezi kandidáty a programem.', label='Preambule', required=False)), ('primary_candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False)), ('description', wagtail.blocks.TextBlock(label='Popis'))]), label=' '))], help_text='Zobrazí se ve velkých blocích na začátku stránky.', label='Osoby na čele kandidátky')), ('secondary_candidates', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Ostatní kandidátky', label='Nadpis zbytku kandidátky')), ('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.CharBlock(label='Číslo')), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False))]), label='Zbylí kandidáti na listině'))], help_text='Zobrazí se v kompaktním seznamu pod čelem kandidátky.', label='Ostatní osoby na kandidátce')), ('program', wagtail.blocks.StreamBlock([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('carousel_program', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(default='Program', help_text="Např. 'Program'", label='Nadpis')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.IntegerBlock(label='Číslo')), ('name', wagtail.blocks.CharBlock(label='Název')), ('points', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('content', wagtail.blocks.TextBlock(label='Obsah'))]), label='Body'))]), label='Kategorie')), ('long_version_url', wagtail.blocks.URLBlock(help_text='Pro zobrazení odkazu na celou verzi programu musí být obě následující pole vyplněná.', label='Odkaz na celou verzi programu', required=False)), ('long_version_text', wagtail.blocks.CharBlock(label='Nadpis odkazu na celou verzi programu', required=False))], template='styleguide2/includes/molecules/program/program_block.html'))]))]))], blank=True, verbose_name='Programy'), + model_name="districtnewprogrampage", + name="program", + field=wagtail.fields.StreamField( + [ + ( + "program_group", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + label="Odkaz pokrývající celou tuto část", + required=False, + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek článku programu" + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé články programu", + ), + ), + ] + ), + ), + ( + "program_group_crossroad", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictNewProgramPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Karty programu", + ), + ), + ] + ), + ), + ( + "program_group_popout", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", required=False + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ( + "guarantor", + wagtail.blocks.PageChooserBlock( + label="Garant", + page_type=[ + "district.DistrictPersonPage" + ], + required=False, + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ), + ] + ), + ), + ( + "program_group_with_candidates", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "preamble_content", + wagtail.blocks.RichTextBlock( + help_text="Text, který se zobrazí před přepínačem mezi kandidáty a programem.", + label="Preambule", + required=False, + ), + ), + ( + "primary_candidates", + wagtail.blocks.StructBlock( + [ + ( + "candidates", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictPersonPage" + ], + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta", + label="Obrázek", + required=False, + ), + ), + ( + "description", + wagtail.blocks.TextBlock( + label="Popis" + ), + ), + ] + ), + label=" ", + ), + ) + ], + help_text="Zobrazí se ve velkých blocích na začátku stránky.", + label="Osoby na čele kandidátky", + ), + ), + ( + "secondary_candidates", + wagtail.blocks.StructBlock( + [ + ( + "heading", + wagtail.blocks.CharBlock( + default="Ostatní kandidátky", + label="Nadpis zbytku kandidátky", + ), + ), + ( + "candidates", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "number", + wagtail.blocks.CharBlock( + label="Číslo" + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictPersonPage" + ], + ), + ), + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta", + label="Obrázek", + required=False, + ), + ), + ] + ), + label="Zbylí kandidáti na listině", + ), + ), + ], + help_text="Zobrazí se v kompaktním seznamu pod čelem kandidátky.", + label="Ostatní osoby na kandidátce", + ), + ), + ( + "program", + wagtail.blocks.StreamBlock( + [ + ( + "program_group", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + label="Odkaz pokrývající celou tuto část", + required=False, + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", + required=False, + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek článku programu" + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé články programu", + ), + ), + ] + ), + ), + ( + "program_group_crossroad", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", + required=True, + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "district.DistrictArticlePage", + "district.DistrictArticlesPage", + "district.DistrictCenterPage", + "district.DistrictContactPage", + "district.DistrictCrossroadPage", + "district.DistrictCustomPage", + "district.DistrictPeoplePage", + "district.DistrictPersonPage", + "district.DistrictNewProgramPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", + required=False, + ), + ), + ] + ), + label="Karty programu", + ), + ), + ] + ), + ), + ( + "program_group_popout", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", + label="Název programu", + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", + required=False, + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", + required=False, + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ( + "guarantor", + wagtail.blocks.PageChooserBlock( + label="Garant", + page_type=[ + "district.DistrictPersonPage" + ], + required=False, + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ), + ] + ), + ), + ( + "carousel_program", + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + default="Program", + help_text="Např. 'Program'", + label="Nadpis", + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "number", + wagtail.blocks.IntegerBlock( + label="Číslo" + ), + ), + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "points", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "content", + wagtail.blocks.TextBlock( + label="Obsah" + ), + ) + ] + ), + label="Body", + ), + ), + ] + ), + label="Kategorie", + ), + ), + ( + "long_version_url", + wagtail.blocks.URLBlock( + help_text="Pro zobrazení odkazu na celou verzi programu musí být obě následující pole vyplněná.", + label="Odkaz na celou verzi programu", + required=False, + ), + ), + ( + "long_version_text", + wagtail.blocks.CharBlock( + label="Nadpis odkazu na celou verzi programu", + required=False, + ), + ), + ], + template="styleguide2/includes/molecules/program/program_block.html", + ), + ), + ] + ), + ), + ] + ), + ), + ], + blank=True, + verbose_name="Programy", + ), ), migrations.DeleteModel( - name='DistrictElectionCampaignPage', + name="DistrictElectionCampaignPage", ), migrations.DeleteModel( - name='DistrictElectionProgramPage', + name="DistrictElectionProgramPage", ), migrations.DeleteModel( - name='DistrictElectionRootPage', + name="DistrictElectionRootPage", ), migrations.DeleteModel( - name='DistrictInteractiveProgramPage', + name="DistrictInteractiveProgramPage", ), migrations.DeleteModel( - name='DistrictPostElectionStrategyPage', + name="DistrictPostElectionStrategyPage", ), migrations.DeleteModel( - name='DistrictProgramPage', + name="DistrictProgramPage", ), ] diff --git a/district/migrations/0227_auto_20240613_1137.py b/district/migrations/0227_auto_20240613_1137.py index 84852bcfc336c01a3589586bcafe31c891771e5f..1c64a9bf0f706a64ae9d420a95593fab70dfd8f6 100644 --- a/district/migrations/0227_auto_20240613_1137.py +++ b/district/migrations/0227_auto_20240613_1137.py @@ -9,8 +9,14 @@ def fix_suffixes(apps, schema_editor): for home_page in DistrictHomePage.objects.all(): old_suffix = str(home_page.title_suffix) - home_page.title_suffix = home_page.title_suffix.replace("piráti", "").replace("Piráti", "").replace("PIRÁTI", "") - home_page.title_suffix = home_page.title_suffix.replace("MS", "").replace("KS", "") + home_page.title_suffix = ( + home_page.title_suffix.replace("piráti", "") + .replace("Piráti", "") + .replace("PIRÁTI", "") + ) + home_page.title_suffix = home_page.title_suffix.replace("MS", "").replace( + "KS", "" + ) home_page.title_suffix = home_page.title_suffix.strip() if home_page.title_suffix != old_suffix: @@ -20,11 +26,8 @@ def fix_suffixes(apps, schema_editor): class Migration(migrations.Migration): - dependencies = [ - ('district', '0226_remove_districtelectionprogrampage_page_ptr_and_more'), + ("district", "0226_remove_districtelectionprogrampage_page_ptr_and_more"), ] - operations = [ - migrations.RunPython(fix_suffixes) - ] + operations = [migrations.RunPython(fix_suffixes)] diff --git a/district/migrations/0228_alter_districthomepage_title_suffix.py b/district/migrations/0228_alter_districthomepage_title_suffix.py index 989fde3a705f849f2dd45d06dd25f1d78bbec906..c93d307196bb8a3e22c1c1c48675958dba062188 100644 --- a/district/migrations/0228_alter_districthomepage_title_suffix.py +++ b/district/migrations/0228_alter_districthomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('district', '0227_auto_20240613_1137'), + ("district", "0227_auto_20240613_1137"), ] operations = [ migrations.AlterField( - model_name='districthomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="districthomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/district/models.py b/district/models.py index 40ce46a134eda0ea80e5ea337c45ee6ad91c6440..04ae6b615286b25b6213108b7ecf04d1de035f8e 100644 --- a/district/models.py +++ b/district/models.py @@ -1106,4 +1106,4 @@ class LegacyProgramPageMixin(Page): return HttpResponseRedirect("/programy/") class Meta: - abstract = True \ No newline at end of file + abstract = True diff --git a/districts/migrations/0003_alter_districtshomepage_title_suffix.py b/districts/migrations/0003_alter_districtshomepage_title_suffix.py index 6d843ffa1c1699b90acf2b2fdb9cc9635fddc2e5..82fed57534adfdd5dbaa67ba9241906560d92e96 100644 --- a/districts/migrations/0003_alter_districtshomepage_title_suffix.py +++ b/districts/migrations/0003_alter_districtshomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('districts', '0002_districtshomepage_title_suffix'), + ("districts", "0002_districtshomepage_title_suffix"), ] operations = [ migrations.AlterField( - model_name='districtshomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="districtshomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/elections/migrations/0038_alter_electionshomepage_title_suffix.py b/elections/migrations/0038_alter_electionshomepage_title_suffix.py index 679ad6f4e35b1ad4cca221a160f5d77b9664ad7b..949bd1f395e754c30539cc26b144d26a6baacd31 100644 --- a/elections/migrations/0038_alter_electionshomepage_title_suffix.py +++ b/elections/migrations/0038_alter_electionshomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('elections', '0037_alter_electionshomepage_content'), + ("elections", "0037_alter_electionshomepage_content"), ] operations = [ migrations.AlterField( - model_name='electionshomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="electionshomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py b/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py index 3af91a5631db9fe04a55341bc1e9fbef2df33432..a9f1a892de8a3e556214b1c88e9e11436ea0a7f9 100644 --- a/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py +++ b/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('green_deal', '0008_alter_greendealhomepage_content_and_more'), + ("green_deal", "0008_alter_greendealhomepage_content_and_more"), ] operations = [ migrations.AlterField( - model_name='greendealhomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="greendealhomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/main/migrations/0096_alter_mainhomepage_title_suffix.py b/main/migrations/0096_alter_mainhomepage_title_suffix.py index 2128b46ef2e0183863209ad90a511a6a6d4b9c0d..c80e41fc7639da3bbfee84f94e71955be5c2ebe9 100644 --- a/main/migrations/0096_alter_mainhomepage_title_suffix.py +++ b/main/migrations/0096_alter_mainhomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('main', '0095_alter_mainpeoplepage_perex_col_1_and_more'), + ("main", "0095_alter_mainpeoplepage_perex_col_1_and_more"), ] operations = [ migrations.AlterField( - model_name='mainhomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="mainhomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py b/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py index 62a7c50a264cd760e3d4f0306c94c821a71dc3fa..63ee6860a6092ee81f59ca60be0ecea6507fd2f2 100644 --- a/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py +++ b/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('regulace_konopi', '0010_alter_regkonhomepage_content_and_more'), + ("regulace_konopi", "0010_alter_regkonhomepage_content_and_more"), ] operations = [ migrations.AlterField( - model_name='regkonhomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="regkonhomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py b/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py index 70d4081b3418eb6ca41c7203d59d0673264a0dd7..3641ac288c4c84d9c8ba5929bf8488081918e4e4 100644 --- a/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py +++ b/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('senat_campaign', '0014_alter_senatcampaignhomepage_calendar'), + ("senat_campaign", "0014_alter_senatcampaignhomepage_calendar"), ] operations = [ migrations.AlterField( - model_name='senatcampaignhomepage', - name='title_suffix', - field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'), + model_name="senatcampaignhomepage", + name="title_suffix", + field=models.CharField( + blank=True, + help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", + max_length=100, + null=True, + verbose_name="Přípona titulku stránky", + ), ), ] diff --git a/shared/models/main.py b/shared/models/main.py index a0aac336daad281c67102968fca2a0f412d2e84e..f26ed644b0c56b9e7b56f7a237410c4516a66531 100644 --- a/shared/models/main.py +++ b/shared/models/main.py @@ -255,8 +255,10 @@ class PageInMenuMixin(Page): for menu in menu_iterator: if menu.block_type == "menu_item": if ( - instance.full_url is not None and len(instance.full_url) != 0 - and menu.value["link"] is not None and len(menu.value["link"]) != 0 + instance.full_url is not None + and len(instance.full_url) != 0 + and menu.value["link"] is not None + and len(menu.value["link"]) != 0 ) and menu.value["link"].strip() == instance.full_url.strip(): return menu.value["title"] @@ -268,8 +270,10 @@ class PageInMenuMixin(Page): elif menu.block_type == "menu_parent": for item in menu.value["menu_items"]: if ( - instance.full_url is not None and len(instance.full_url) != 0 - and item.value["link"] is not None and len(menu.value["link"]) != 0 + instance.full_url is not None + and len(instance.full_url) != 0 + and item.value["link"] is not None + and len(menu.value["link"]) != 0 ) and item.value["link"].strip() == instance.full_url.strip(): return item.value["title"]