diff --git a/district/migrations/0114_districtcustompage_access_token_and_more.py b/district/migrations/0114_districtcustompage_access_token_and_more.py deleted file mode 100644 index c20723ba7e1abd4c680b2b65da092d36eaaff02b..0000000000000000000000000000000000000000 --- a/district/migrations/0114_districtcustompage_access_token_and_more.py +++ /dev/null @@ -1,6586 +0,0 @@ -# Generated by Django 4.1.8 on 2023-05-12 22:44 - -import wagtail.blocks -import wagtail.contrib.table_block.blocks -import wagtail.fields -import wagtail.images.blocks -from django.db import migrations, models - -import shared.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("district", "0113_merge_20230502_1854"), - ] - - operations = [ - migrations.AddField( - model_name="districtcustompage", - name="access_token", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="Access token" - ), - ), - migrations.AddField( - model_name="districtcustompage", - name="require_confirmation", - field=models.BooleanField( - default=True, verbose_name="Požadovat zaslání ověřovacího e-mailu?" - ), - ), - migrations.AddField( - model_name="districtcustompage", - name="subscription_id", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="ID newsletteru" - ), - ), - migrations.AddField( - model_name="districthomepage", - name="access_token", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="Access token" - ), - ), - migrations.AddField( - model_name="districthomepage", - name="require_confirmation", - field=models.BooleanField( - default=True, verbose_name="Požadovat zaslání ověřovacího e-mailu?" - ), - ), - migrations.AddField( - model_name="districthomepage", - name="subscription_id", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="ID newsletteru" - ), - ), - migrations.AlterField( - model_name="districtcustompage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "headline", - wagtail.blocks.StructBlock( - [ - ( - "headline", - wagtail.blocks.CharBlock( - label="Headline", max_length=300, required=True - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ("head-alt-xl", "Bebas XL"), - ("head-alt-lg", "Bebas L"), - ("head-alt-md", "Bebas M"), - ("head-alt-base", "Bebas base"), - ("head-alt-sm", "Bebas SM"), - ("head-alt-xs", "Bebas XS"), - ("head-alt-2xs", "Bebas 2XS"), - ("head-heavy-base", "Roboto base"), - ("head-heavy-sm", "Roboto SM"), - ("head-heavy-xs", "Roboto XS"), - ("head-heavy-2xs", "Roboto 2XS"), - ("head-allcaps-2xs", "Allcaps 2XS"), - ("head-allcaps-3xs", "Allcaps 3XS"), - ("head-allcaps-4xs", "Allcaps 4XS"), - ( - "head-heavy-allcaps-2xs", - "Allcaps heavy 2XS", - ), - ( - "head-heavy-allcaps-3xs", - "Allcaps heavy 3XS", - ), - ( - "head-heavy-allcaps-4xs", - "Allcaps heavy 4XS", - ), - ], - help_text="Náhled si prohlédněte na https://styleguide.pir-test.eu/latest/?p=viewall-atoms-text.", - label="Styl", - ), - ), - ( - "tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h1", "H1"), - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ("h6", "H6"), - ], - help_text="Čím nižší číslo, tím vyšší úroveň.", - label="Úroveň nadpisu", - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("auto", "Automaticky"), - ("center", "Na střed"), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "gallery", - wagtail.blocks.StructBlock( - [ - ( - "gallery_items", - wagtail.blocks.ListBlock( - wagtail.images.blocks.ImageChooserBlock( - label="obrázek", required=True - ), - group="ostatní", - icon="image", - label="Galerie", - ), - ) - ], - label="Galerie", - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", required=True - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", required=False - ), - ), - ] - ), - ), - ( - "card", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", required=False - ), - ), - ( - "elevation", - wagtail.blocks.IntegerBlock( - default=2, - help_text="0 = žádný stín, 21 = maximální stín", - label="Velikost stínu", - max_value=21, - min_value=0, - ), - ), - ( - "headline", - wagtail.blocks.TextBlock( - label="Titulek", required=False - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", - label="Zvýraznit stín na hover", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ], - label="Obsah", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", required=False - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", required=False - ), - ), - ] - ), - ), - ( - "two_columns", - wagtail.blocks.StructBlock( - [ - ( - "left_column_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "card", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "elevation", - wagtail.blocks.IntegerBlock( - default=2, - help_text="0 = žádný stín, 21 = maximální stín", - label="Velikost stínu", - max_value=21, - min_value=0, - ), - ), - ( - "headline", - wagtail.blocks.TextBlock( - label="Titulek", - required=False, - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", - label="Zvýraznit stín na hover", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ], - label="Obsah", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ] - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "sm", - "Malá", - ), - ( - "base", - "Střední", - ), - ( - "lg", - "Velká", - ), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "black", - "Černá", - ), - ( - "white", - "Bílá", - ), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ], - label="Obsah levého sloupce", - required=True, - ), - ), - ( - "right_column_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "card", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "elevation", - wagtail.blocks.IntegerBlock( - default=2, - help_text="0 = žádný stín, 21 = maximální stín", - label="Velikost stínu", - max_value=21, - min_value=0, - ), - ), - ( - "headline", - wagtail.blocks.TextBlock( - label="Titulek", - required=False, - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", - label="Zvýraznit stín na hover", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ], - label="Obsah", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ] - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "sm", - "Malá", - ), - ( - "base", - "Střední", - ), - ( - "lg", - "Velká", - ), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "black", - "Černá", - ), - ( - "white", - "Bílá", - ), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ], - label="Obsah pravého sloupce", - required=True, - ), - ), - ] - ), - ), - ( - "three_columns", - wagtail.blocks.StructBlock( - [ - ( - "left_column_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "card", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "elevation", - wagtail.blocks.IntegerBlock( - default=2, - help_text="0 = žádný stín, 21 = maximální stín", - label="Velikost stínu", - max_value=21, - min_value=0, - ), - ), - ( - "headline", - wagtail.blocks.TextBlock( - label="Titulek", - required=False, - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", - label="Zvýraznit stín na hover", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ], - label="Obsah", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ] - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "sm", - "Malá", - ), - ( - "base", - "Střední", - ), - ( - "lg", - "Velká", - ), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "black", - "Černá", - ), - ( - "white", - "Bílá", - ), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ], - label="Obsah levého sloupce", - required=True, - ), - ), - ( - "middle_column_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "card", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "elevation", - wagtail.blocks.IntegerBlock( - default=2, - help_text="0 = žádný stín, 21 = maximální stín", - label="Velikost stínu", - max_value=21, - min_value=0, - ), - ), - ( - "headline", - wagtail.blocks.TextBlock( - label="Titulek", - required=False, - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", - label="Zvýraznit stín na hover", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ], - label="Obsah", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ] - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "sm", - "Malá", - ), - ( - "base", - "Střední", - ), - ( - "lg", - "Velká", - ), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "black", - "Černá", - ), - ( - "white", - "Bílá", - ), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ], - label="Obsah prostředního sloupce", - required=True, - ), - ), - ( - "right_column_content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "card", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "elevation", - wagtail.blocks.IntegerBlock( - default=2, - help_text="0 = žádný stín, 21 = maximální stín", - label="Velikost stínu", - max_value=21, - min_value=0, - ), - ), - ( - "headline", - wagtail.blocks.TextBlock( - label="Titulek", - required=False, - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=False, - help_text="Pokud je zapnuto, stín se zvýrazní, když na kartu uživatel najede myší.", - label="Zvýraznit stín na hover", - required=False, - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - template="shared/blocks/table_block.html" - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ], - label="Obsah", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ] - ), - ), - ( - "figure", - wagtail.blocks.StructBlock( - [ - ( - "img", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=True, - ), - ), - ( - "caption", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ] - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - required=True, - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", - required=False, - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "osm-mapnik", - "OSM Mapnik", - ), - ( - "stadia-osm-bright", - "Stadia OSM Bright", - ), - ( - "stadia-outdoors", - "Stadia Outdoors", - ), - ( - "mapbox-streets", - "Mapbox Streets", - ), - ( - "mapbox-outdoors", - "Mapbox Outdoors", - ), - ( - "mapbox-light", - "Mapbox Light", - ), - ( - "mapbox-dark", - "Mapbox Dark", - ), - ( - "mapbox-satellite", - "Mapbox Satellite", - ), - ( - "mapbox-pirate", - "Mapbox Pirate Theme", - ), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "sm", - "Malá", - ), - ( - "base", - "Střední", - ), - ( - "lg", - "Velká", - ), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "black", - "Černá", - ), - ( - "white", - "Bílá", - ), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ], - label="Obsah pravého sloupce", - required=True, - ), - ), - ] - ), - ), - ( - "youtube", - wagtail.blocks.StructBlock( - [ - ( - "poster_image", - wagtail.images.blocks.ImageChooserBlock( - help_text="Není třeba vyplňovat, náhled bude dohledán automaticky.", - label="Náhled videa (automatické pole)", - required=False, - ), - ), - ( - "video_url", - wagtail.blocks.URLBlock( - help_text="Odkaz na YouTube video bude automaticky zkonvertován na ID videa a NEBUDE uložen.", - label="Odkaz na video", - required=False, - ), - ), - ( - "video_id", - wagtail.blocks.CharBlock( - help_text="Není třeba vyplňovat, bude automaticky načteno z odkazu.", - label="ID videa (automatické pole)", - required=False, - ), - ), - ], - label="YouTube video", - ), - ), - ( - "map_point", - wagtail.blocks.StructBlock( - [ - ( - "lat", - wagtail.blocks.DecimalBlock( - help_text="Např. 50.04075", - label="Zeměpisná šířka", - ), - ), - ( - "lon", - wagtail.blocks.DecimalBlock( - help_text="Např. 15.77659", - label="Zeměpisná délka", - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva špendlíku (HEX)", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ("osm-mapnik", "OSM Mapnik"), - ("stadia-osm-bright", "Stadia OSM Bright"), - ("stadia-outdoors", "Stadia Outdoors"), - ("mapbox-streets", "Mapbox Streets"), - ("mapbox-outdoors", "Mapbox Outdoors"), - ("mapbox-light", "Mapbox Light"), - ("mapbox-dark", "Mapbox Dark"), - ("mapbox-satellite", "Mapbox Satellite"), - ("mapbox-pirate", "Mapbox Pirate Theme"), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Špendlík na mapě", - ), - ), - ( - "map_collection", - wagtail.blocks.StructBlock( - [ - ( - "features", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", required=True - ), - ), - ( - "description", - wagtail.blocks.TextBlock( - label="Popisek", required=False - ), - ), - ( - "geojson", - wagtail.blocks.TextBlock( - help_text="Vložte surový GeoJSON objekt typu 'Feature'. Vyrobit jej můžete např. pomocí online služby geojson.io. Pokud u objektu poskytnete properties 'title' a 'description', zobrazí se jak na mapě, tak i v detailu.", - label="Geodata", - required=True, - ), - ), - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", required=False - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", required=False - ), - ), - ( - "hex_color", - wagtail.blocks.CharBlock( - default="000000", - help_text="Zadejte barvu pomocí HEX notace (bez # na začátku).", - label="Barva (HEX)", - ), - ), - ], - required=True, - ), - label="Součásti", - ), - ), - ( - "zoom", - wagtail.blocks.IntegerBlock( - default=15, - label="Výchozí zoom", - max_value=18, - min_value=1, - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ("osm-mapnik", "OSM Mapnik"), - ("stadia-osm-bright", "Stadia OSM Bright"), - ("stadia-outdoors", "Stadia Outdoors"), - ("mapbox-streets", "Mapbox Streets"), - ("mapbox-outdoors", "Mapbox Outdoors"), - ("mapbox-light", "Mapbox Light"), - ("mapbox-dark", "Mapbox Dark"), - ("mapbox-satellite", "Mapbox Satellite"), - ("mapbox-pirate", "Mapbox Pirate Theme"), - ], - label="Styl", - ), - ), - ( - "height", - wagtail.blocks.IntegerBlock( - label="Výška v px", - max_value=1000, - min_value=100, - ), - ), - ], - label="Mapová kolekce", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", max_length=128, required=True - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ("grey-125", "Světle šedá"), - ("blue-300", "Modrá"), - ("cyan-200", "Tyrkysová"), - ("green-400", "Zelené"), - ("violet-400", "Vínová"), - ("red-600", "Červená"), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", required=False - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", required=False - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("auto", "Automaticky"), - ("center", "Na střed"), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ("grey-125", "Světle šedá"), - ("blue-300", "Modrá"), - ("cyan-200", "Tyrkysová"), - ("green-400", "Zelené"), - ("violet-400", "Vínová"), - ("red-600", "Červená"), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", required=False - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", required=False - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("auto", "Automaticky"), - ("center", "Na střed"), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ( - "image_banner", - wagtail.blocks.StructBlock( - [ - ( - "image", - wagtail.images.blocks.ImageChooserBlock( - label="Obrázek", required=True - ), - ), - ( - "headline", - wagtail.blocks.CharBlock( - label="Headline", max_length=128, required=True - ), - ), - ( - "content", - wagtail.blocks.StreamBlock( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=( - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "superscript", - "subscript", - "strikethrough", - "blockquote", - ), - label="Textový editor", - ), - ), - ( - "button", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ("sm", "Malá"), - ("base", "Střední"), - ("lg", "Velká"), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black", "Černá"), - ("white", "Bílá"), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "button_group", - wagtail.blocks.StructBlock( - [ - ( - "buttons", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Titulek", - max_length=128, - required=True, - ), - ), - ( - "icon", - wagtail.blocks.CharBlock( - help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.", - label="Ikonka", - max_length=128, - required=False, - ), - ), - ( - "size", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "sm", - "Malá", - ), - ( - "base", - "Střední", - ), - ( - "lg", - "Velká", - ), - ], - label="Velikost", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "black", - "Černá", - ), - ( - "white", - "Bílá", - ), - ( - "grey-125", - "Světle šedá", - ), - ( - "blue-300", - "Modrá", - ), - ( - "cyan-200", - "Tyrkysová", - ), - ( - "green-400", - "Zelené", - ), - ( - "violet-400", - "Vínová", - ), - ( - "red-600", - "Červená", - ), - ], - label="Barva", - ), - ), - ( - "hoveractive", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.", - label="Animovat na hover", - required=False, - ), - ), - ( - "mobile_fullwidth", - wagtail.blocks.BooleanBlock( - default=True, - help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.", - label="Plná šířka na mobilních zařízeních", - required=False, - ), - ), - ( - "page", - wagtail.blocks.PageChooserBlock( - label="Stránka", - required=False, - ), - ), - ( - "link", - wagtail.blocks.URLBlock( - label="Odkaz", - required=False, - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ( - "auto", - "Automaticky", - ), - ( - "center", - "Na střed", - ), - ], - label="Zarovnání", - ), - ), - ] - ), - label="Tlačítka", - ), - ) - ] - ), - ), - ], - label="Obsah pravého sloupce", - required=False, - ), - ), - ] - ), - ), - ( - "chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Název", max_length=120 - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Graf se sloupci"), - ( - "horizontalBar", - "Graf s vodorovnými sloupci", - ), - ("pie", "Koláčový graf"), - ("doughnut", "Donutový graf"), - ("polarArea", "Graf polární oblasti"), - ("radar", "Radarový graf"), - ("line", "Graf s liniemi"), - ], - label="Typ", - ), - ), - ( - "hide_points", - wagtail.blocks.BooleanBlock( - help_text="Mění vzhled pouze u linových grafů.", - label="Schovat body", - required=False, - ), - ), - ( - "local_labels", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Skupina", max_length=40 - ), - blank=True, - collapsed=True, - default=[], - label="Místně definované skupiny", - required=False, - ), - ), - ( - "local_datasets", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - label="Označení zdroje dat", - max_length=120, - ), - ), - ( - "data", - wagtail.blocks.ListBlock( - wagtail.blocks.IntegerBlock(), - default=[0], - label="Data", - ), - ), - ] - ), - blank=True, - collapsed=True, - default=[], - label="Místní zdroje dat", - required=False, - ), - ), - ( - "redmine_issue_datasets", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "projects", - wagtail.blocks.MultipleChoiceBlock( - choices=shared.blocks.get_redmine_projects, - label="Projekty", - ), - ), - ( - "is_open", - wagtail.blocks.BooleanBlock( - label="Jen otevřené", - required=False, - ), - ), - ( - "is_closed", - wagtail.blocks.BooleanBlock( - label="Jen uzavřené", - required=False, - ), - ), - ( - "created_on_min_date", - wagtail.blocks.DateBlock( - label="Min. datum vytvoření", - required=True, - ), - ), - ( - "created_on_max_date", - wagtail.blocks.DateBlock( - label="Max. datum vytvoření", - required=True, - ), - ), - ( - "updated_on", - wagtail.blocks.CharBlock( - help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", - label="Filtr pro datum aktualizace", - max_length=128, - required=False, - ), - ), - ( - "issue_label", - wagtail.blocks.CharBlock( - label="Označení úkolů uvnitř grafu", - max_length=128, - required=True, - ), - ), - ( - "split_per_project", - wagtail.blocks.BooleanBlock( - label="Rozdělit podle projektu", - required=False, - ), - ), - ( - "only_grow", - wagtail.blocks.BooleanBlock( - label="Pouze růst nahoru", - required=False, - ), - ), - ], - label="Redmine úkoly", - ), - blank=True, - default=[], - help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", - label="Zdroje dat z Redmine (úkoly)", - required=False, - ), - ), - ], - template="district/blocks/chart.html", - ), - ), - ( - "related", - wagtail.blocks.StructBlock( - [ - ( - "articles", - wagtail.blocks.ListBlock( - wagtail.blocks.PageChooserBlock( - "district.DistrictArticlePage", - label="Aktualita", - required=True, - ), - label="Seznam aktualit", - required=True, - ), - ) - ] - ), - ), - ( - "related_links", - wagtail.blocks.StructBlock( - [ - ( - "articles", - wagtail.blocks.ListBlock( - wagtail.blocks.PageChooserBlock( - "district.DistrictArticlePage", - label="Aktualita", - required=True, - ), - label="Seznam aktualit", - required=True, - ), - ) - ] - ), - ), - ( - "badge", - wagtail.blocks.StructBlock( - [ - ( - "person", - wagtail.blocks.PageChooserBlock( - label="Osoba", - page_type=["district.DistrictPersonPage"], - required=True, - ), - ), - ( - "wrap_in_card", - wagtail.blocks.BooleanBlock( - default=False, - label="Zabalit do karty", - required=False, - ), - ), - ( - "caption", - wagtail.blocks.CharBlock( - help_text="Vlastní popisek na vizitce. Pokud není uvedeno, použije se výchozí profese osoby.", - label="Popisek", - required=False, - ), - ), - ] - ), - ), - ( - "people_group", - wagtail.blocks.StructBlock( - [ - ( - "group_title", - wagtail.blocks.CharBlock( - label="Titulek", required=True - ), - ), - ( - "person_list", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "position", - wagtail.blocks.CharBlock( - label="Název pozice", - required=False, - ), - ), - ( - "person", - wagtail.blocks.PageChooserBlock( - label="Osoba", - page_type=[ - "district.DistrictPersonPage" - ], - ), - ), - ] - ), - label="List osob", - ), - ), - ] - ), - ), - ( - "newsletter", - wagtail.blocks.StructBlock( - [ - ( - "design", - wagtail.blocks.StructBlock( - [ - ( - "icon", - wagtail.images.blocks.ImageChooserBlock( - help_text="Pokud žádnou nevyberete, zobrazí se ikonka pro lahev v moři", - label="Vyberte si ikonku k formuláři", - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - default="Odebírej náš newsletter", - label="Nadpis formuláře", - ), - ), - ( - "subtitle", - wagtail.blocks.CharBlock( - default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", - label="Podnadpis formuláře", - ), - ), - ( - "consent", - wagtail.blocks.RichTextBlock( - default="Souhlasím se zpracováním osobních údajů", - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Souhlas se zpracováním osobních údajů", - ), - ), - ( - "button", - wagtail.blocks.CharBlock( - default="Odebírat", - label="Tlačítko pro přihlášení k newsletteru", - ), - ), - ( - "require_confirmation", - wagtail.blocks.CharBlock( - default="Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.", - label="Zpráva o úspěšném zaslání potvrzovacího emailu", - ), - ), - ( - "no_require_confirmation", - wagtail.blocks.CharBlock( - default="Jsi přihlášen/a k odběru našich novinek.", - help_text="Zobrazí se pouze pokud od uživatele nepožadujeme ověřovací email", - label="Zpráva o úspěšném zaregistrování k newsletteru", - ), - ), - ( - "labels", - wagtail.blocks.StructBlock( - [ - ( - "email", - wagtail.blocks.CharBlock( - default="Tvůj e-mail", - label="Popisek emailu", - ), - ), - ( - "first_name", - wagtail.blocks.CharBlock( - default="Tvoje křestní jméno", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek křestního jména", - ), - ), - ( - "last_name", - wagtail.blocks.CharBlock( - default="Tvoje příjmení", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek příjmení", - ), - ), - ], - label="popisky vstupů uživatele", - required=True, - ), - ), - ], - label="Design formuláře", - required=True, - ), - ), - ( - "config", - wagtail.blocks.StructBlock( - [ - ( - "show_name_input", - wagtail.blocks.BooleanBlock( - label="Umožnit uživateli přidat jméno a příjmení?", - required=False, - ), - ), - ( - "force_subscribe", - wagtail.blocks.BooleanBlock( - default=True, - label="Přihlásit uživatele, i když se v minulosti odhlásil?", - required=False, - ), - ), - ( - "send_timezone", - wagtail.blocks.BooleanBlock( - label="Zasílat timezone podle uživatelova prohlížeče?", - required=False, - ), - ), - ], - label="Konfigurace", - required=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="Obsah", - ), - ), - migrations.AlterField( - model_name="districthomepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Textový editor", - ), - ), - ( - "headline", - wagtail.blocks.StructBlock( - [ - ( - "headline", - wagtail.blocks.CharBlock( - label="Headline", max_length=300, required=True - ), - ), - ( - "style", - wagtail.blocks.ChoiceBlock( - choices=[ - ("head-alt-xl", "Bebas XL"), - ("head-alt-lg", "Bebas L"), - ("head-alt-md", "Bebas M"), - ("head-alt-base", "Bebas base"), - ("head-alt-sm", "Bebas SM"), - ("head-alt-xs", "Bebas XS"), - ("head-alt-2xs", "Bebas 2XS"), - ("head-heavy-base", "Roboto base"), - ("head-heavy-sm", "Roboto SM"), - ("head-heavy-xs", "Roboto XS"), - ("head-heavy-2xs", "Roboto 2XS"), - ("head-allcaps-2xs", "Allcaps 2XS"), - ("head-allcaps-3xs", "Allcaps 3XS"), - ("head-allcaps-4xs", "Allcaps 4XS"), - ( - "head-heavy-allcaps-2xs", - "Allcaps heavy 2XS", - ), - ( - "head-heavy-allcaps-3xs", - "Allcaps heavy 3XS", - ), - ( - "head-heavy-allcaps-4xs", - "Allcaps heavy 4XS", - ), - ], - help_text="Náhled si prohlédněte na https://styleguide.pir-test.eu/latest/?p=viewall-atoms-text.", - label="Styl", - ), - ), - ( - "tag", - wagtail.blocks.ChoiceBlock( - choices=[ - ("h1", "H1"), - ("h2", "H2"), - ("h3", "H3"), - ("h4", "H4"), - ("h5", "H5"), - ("h6", "H6"), - ], - help_text="Čím nižší číslo, tím vyšší úroveň.", - label="Úroveň nadpisu", - ), - ), - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("auto", "Automaticky"), - ("center", "Na střed"), - ], - label="Zarovnání", - ), - ), - ] - ), - ), - ( - "newsletter", - wagtail.blocks.StructBlock( - [ - ( - "design", - wagtail.blocks.StructBlock( - [ - ( - "icon", - wagtail.images.blocks.ImageChooserBlock( - help_text="Pokud žádnou nevyberete, zobrazí se ikonka pro lahev v moři", - label="Vyberte si ikonku k formuláři", - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - default="Odebírej náš newsletter", - label="Nadpis formuláře", - ), - ), - ( - "subtitle", - wagtail.blocks.CharBlock( - default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", - label="Podnadpis formuláře", - ), - ), - ( - "consent", - wagtail.blocks.RichTextBlock( - default="Souhlasím se zpracováním osobních údajů", - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Souhlas se zpracováním osobních údajů", - ), - ), - ( - "button", - wagtail.blocks.CharBlock( - default="Odebírat", - label="Tlačítko pro přihlášení k newsletteru", - ), - ), - ( - "require_confirmation", - wagtail.blocks.CharBlock( - default="Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.", - label="Zpráva o úspěšném zaslání potvrzovacího emailu", - ), - ), - ( - "no_require_confirmation", - wagtail.blocks.CharBlock( - default="Jsi přihlášen/a k odběru našich novinek.", - help_text="Zobrazí se pouze pokud od uživatele nepožadujeme ověřovací email", - label="Zpráva o úspěšném zaregistrování k newsletteru", - ), - ), - ( - "labels", - wagtail.blocks.StructBlock( - [ - ( - "email", - wagtail.blocks.CharBlock( - default="Tvůj e-mail", - label="Popisek emailu", - ), - ), - ( - "first_name", - wagtail.blocks.CharBlock( - default="Tvoje křestní jméno", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek křestního jména", - ), - ), - ( - "last_name", - wagtail.blocks.CharBlock( - default="Tvoje příjmení", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek příjmení", - ), - ), - ], - label="popisky vstupů uživatele", - required=True, - ), - ), - ], - label="Design formuláře", - required=True, - ), - ), - ( - "config", - wagtail.blocks.StructBlock( - [ - ( - "show_name_input", - wagtail.blocks.BooleanBlock( - label="Umožnit uživateli přidat jméno a příjmení?", - required=False, - ), - ), - ( - "force_subscribe", - wagtail.blocks.BooleanBlock( - default=True, - label="Přihlásit uživatele, i když se v minulosti odhlásil?", - required=False, - ), - ), - ( - "send_timezone", - wagtail.blocks.BooleanBlock( - label="Zasílat timezone podle uživatelova prohlížeče?", - required=False, - ), - ), - ], - label="Konfigurace", - required=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="Obsah stránky", - ), - ), - ] diff --git a/district/models.py b/district/models.py index 5d2db2a50c56d111180d02e9782a02cd679b4393..fabf75a64f5e92f07aa9c67b37531998503b1c56 100644 --- a/district/models.py +++ b/district/models.py @@ -74,8 +74,6 @@ class DistrictHomePage( MetadataPageMixin, CalendarMixin, FooterMixin, - NewsletterFormMixin, - RoutablePageMixin, Page, ): ### FIELDS @@ -258,7 +256,6 @@ class DistrictHomePage( ], gettext_lazy("Kontakty"), ), - *NewsletterFormMixin.settings_panels, MultiFieldPanel( [ FieldPanel("footer_person_list"), @@ -311,10 +308,6 @@ class DistrictHomePage( ### OTHERS - @route(r"^newsletter/$", name="newsletter") - def newsletter(self, posted): - return self.newsletter_post(posted) - class Meta: verbose_name = "Oblastní sdružení" @@ -1415,7 +1408,6 @@ class DistrictCustomPage( ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, - NewsletterFormMixin, RoutablePageMixin, Page, ): @@ -1441,7 +1433,7 @@ class DistrictCustomPage( promote_panels = make_promote_panels() - settings_panels = NewsletterFormMixin.settings_panels + settings_panels = [] ### RELATIONS @@ -1450,10 +1442,6 @@ class DistrictCustomPage( ### OTHERS - @route(r"^newsletter/$", name="newsletter") - def newsletter(self, posted): - return self.newsletter_post(posted) - class Meta: verbose_name = "Libovolná vlastní stránka" diff --git a/shared/blocks.py b/shared/blocks.py index a85b3d875b084009d159e9cdfd321a7322988992..e458fea53288de32e1603528152d97814c151d1e 100644 --- a/shared/blocks.py +++ b/shared/blocks.py @@ -9,6 +9,7 @@ import requests from django.core.cache import cache from django.core.exceptions import ValidationError from django.core.files.images import ImageFile +from django.db import models from django.forms.utils import ErrorList from wagtail import blocks from wagtail.blocks.struct_block import StructBlockValidationError @@ -1073,6 +1074,15 @@ class FooterLinksBlock(blocks.StructBlock): template = "shared/blocks/footer_links_block.html" +class NewsletterSecretConfiguration(models.Model): + subscription_id = models.CharField( + verbose_name="ID newsletteru", max_length=512, null=True, blank=True + ) + access_token = models.CharField( + verbose_name="Access token", max_length=512, null=True, blank=True + ) + + class NewsletterSubscriptionBlock(blocks.StructBlock): design = blocks.StructBlock( local_blocks=[ @@ -1112,20 +1122,12 @@ class NewsletterSubscriptionBlock(blocks.StructBlock): ), ), ( - "require_confirmation", + "confirmation", blocks.CharBlock( - label="Zpráva o úspěšném zaslání potvrzovacího emailu", + label="Zpráva o úspěšném odeslání formuláře", default="Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.", ), ), - ( - "no_require_confirmation", - blocks.CharBlock( - label="Zpráva o úspěšném zaregistrování k newsletteru", - default="Jsi přihlášen/a k odběru našich novinek.", - help_text="Zobrazí se pouze pokud od uživatele nepožadujeme ověřovací email", - ), - ), ( "labels", blocks.StructBlock( @@ -1185,14 +1187,49 @@ class NewsletterSubscriptionBlock(blocks.StructBlock): required=False, ), ), + ( + "subscription_id", + blocks.CharBlock(label="ID newsletteru"), + ), + ( + "access_token", + blocks.CharBlock( + label="Access token", + ), + ), + ( + "secret_config_id", + blocks.IntegerBlock( + label="Databázové ID pro konfiguraci", + help_text="Bude vyplněno automaticky, nevyplňujte ručně", + required=False, + ), + ), ], label="Konfigurace", required=True, ) + def clean(self, value): + if value["config"]["subscription_id"] and value["config"]["access_token"]: + if value["config"]["secret_config_id"]: + secret_config = NewsletterSecretConfiguration.objects.get( + id=value["config"]["secret_config_id"] + ) + secret_config.subscription_id = value["config"]["subscription_id"] + secret_config.access_token = value["config"]["access_token"] + secret_config.save() + else: + secret_config = NewsletterSecretConfiguration.objects.create( + subscription_id=value["config"]["subscription_id"], + access_token=value["config"]["access_token"], + ) + secret_config.save() + value["config"]["secret_config_id"] = secret_config.id + super().clean(value) + class Meta: label = "Formulář pro odebírání newsletteru" - help_text = "Formulář bude fungovat pouze pokud nastavíte token a ID newsletteru v nastavení homepage, nebo této stránky" icon = "form" template = "shared/blocks/newsletter_subscription_block.html" diff --git a/shared/models.py b/shared/models.py index 79c6ad77b737dbfc5398761b530ba2fd659bbff6..89672af6e9f79ffd97894b044fa591846847270a 100644 --- a/shared/models.py +++ b/shared/models.py @@ -14,42 +14,25 @@ from shared.blocks import ( FooterLinksBlock, MenuItemBlock, MenuParentBlock, + NewsletterSecretConfiguration, ) logger = logging.getLogger(__name__) -class NewsletterFormMixin(models.Model): +class NewsletterFormMixin: """ - Use this for pages to which you want to submit newsletter requests. + Use this for homepages to which you want to submit newsletter requests Pages inheriting from this should have a route defined with RoutablePageMixin that use the method newsletter_post """ - subscription_id = models.CharField( - verbose_name="ID newsletteru", max_length=512, null=True, blank=True - ) - access_token = models.CharField( - verbose_name="Access token", max_length=512, null=True, blank=True - ) - require_confirmation = models.BooleanField( - verbose_name="Požadovat zaslání ověřovacího e-mailu?", default=True - ) - - settings_panels = [ - MultiFieldPanel( - [ - FieldPanel("subscription_id"), - FieldPanel("access_token"), - FieldPanel("require_confirmation"), - ], - "Nastavení API newsletteru", - ), - ] - def newsletter_post(self, posted): client_response = HttpResponse() if posted.method == "POST": body = json.loads(posted.body) + secret_config = NewsletterSecretConfiguration.objects.get( + id=body["secred_config"] + ) mailtrain_request = {"EMAIL": body["email"]} if "first_name" in body and "last_name" in body: mailtrain_request.update( @@ -68,12 +51,13 @@ class NewsletterFormMixin(models.Model): mailtrain_request.update({"TIMEZONE": body["timezone"]}) if self.require_confirmation: mailtrain_request.update({"REQUIRE_CONFIRMATION": "yes"}) + response = request( "POST", - f"https://mailtrain.pirati.cz/api/subscribe/{self.subscription_id}?access_token={self.access_token}", + f"https://mailtrain.pirati.cz/api/subscribe/{secret_config.subscription_id}?access_token={secret_config.access_token}", json=mailtrain_request, ) - print(response.json()) + if "error" in response.json(): client_response.status_code = 500 else: @@ -84,13 +68,6 @@ class NewsletterFormMixin(models.Model): client_response.status_code = 400 return client_response - @property - def has_newsletter_form(self): - return self.subscription_id != None and self.access_token != None - - class Meta: - abstract = True - class SubpageMixin: """Must be used in class definition before MetadataPageMixin!""" diff --git a/shared/static/shared/js/vue-formulate-helper.js b/shared/static/shared/js/vue-formulate-helper.js index eb75d5cad66cb6361c313bf8d96d388c41a9e44a..9c9dbbabd0e1eabd95de93b99aea9bf6f4a15896 100644 --- a/shared/static/shared/js/vue-formulate-helper.js +++ b/shared/static/shared/js/vue-formulate-helper.js @@ -11,6 +11,7 @@ Vue.options.data ||= {}; Vue.options.data.mailtrainerrors ||= []; Vue.options.methods ||= {}; Vue.options.methods.mailtrainsubmit = async function (data) { + $("[data-success]", this.$el).hide(); const csrftoken = $("[name='csrfmiddlewaretoken']", this.$el).val(); const headers = new Headers(); headers.append('X-CSRFToken', csrftoken); @@ -18,7 +19,10 @@ Vue.options.methods.mailtrainsubmit = async function (data) { try { const response = await fetch(this.$el.dataset.url, { method: "POST", - body: JSON.stringify({ + body: JSON.stringify(data.timezone ? { + ...data, + timezone: Intl.DateTimeFormat().resolvedOptions().timeZone, + } : { ...data, }), headers: headers, @@ -26,6 +30,8 @@ Vue.options.methods.mailtrainsubmit = async function (data) { }); if (response.status >= 400) { Vue.options.data.mailtrainerrors = errorMessage; + } else { + $("[data-success]", this.$el).show(); } } catch { Vue.options.data.mailtrainerrors = errorMessage; diff --git a/shared/templates/shared/blocks/newsletter_subscription_block.html b/shared/templates/shared/blocks/newsletter_subscription_block.html index f06e924411c242bc2e23794ec1b286babff6b5b7..5352a94a66ab1e40d5b9780dd9106178297b46fd 100644 --- a/shared/templates/shared/blocks/newsletter_subscription_block.html +++ b/shared/templates/shared/blocks/newsletter_subscription_block.html @@ -2,23 +2,7 @@ <div class="__js-root"> <ui-app inline-template> - {% if page.has_newsletter_form %} - <div data-url="{% routablepageurl page 'newsletter' %}" class="flex flex-row flex-wrap xl:items-center mt-20 xl:mt-0"> - {% else %} - <div data-url="{% routablepageurl page.root_page 'newsletter' %}" class="flex flex-row flex-wrap xl:items-center mt-20 xl:mt-0"> - {% endif %} - <noscript> - <ul class="flex flex-col w-full drop-shadow-lg"> - <li class="px-5 py-4 text-center relative bg-green-400 text-white"> - <i class="ico--checkmark mr-2"></i> - {% if self.config.require_confirmation %} - {{ self.design.require_confirmation }} - {% else %} - {{ self.design.no_require_confirmation }} - {% endif %} - </li> - </ul> - </noscript> + <div data-url="{% routablepageurl page.root_page 'newsletter' %}" class="flex flex-row flex-wrap xl:items-center mt-20 xl:mt-0"> <div class="mr-20"> {% if self.design.icon %} <img src="{{ self.design.icon.full_url }}" alt="newsletter_icon" class="newsletter-grid__icon text-7xl xl:text-9xl w-32"> @@ -33,10 +17,23 @@ <span class="inline-block uppercase text-xl xl:text-base font-bold mb-4 xl:w-full"> {{ self.design.subtitle }} </span> + <div data-success="true" style="display: none;"> + <ul class="flex flex-col w-full drop-shadow-lg"> + <li class="px-5 py-4 text-center relative bg-green-400 text-white"> + <i class="ico--checkmark mr-2"></i> + {{ self.design.confirmation }} + </li> + </ul> + </div> <div class="flex flex-col items-start"> <formulate-form @submit="mailtrainsubmit" #default="{ isLoading }" :form-errors="mailtrainerrors"> <formulate-errors></formulate-errors> {% csrf_token %} + <formulate-input + type="hidden" + name="secret_config" + value="{{ self.config.secret_config_id }}" + ></formulate-input> {% if self.config.send_timezone %} <formulate-input type="hidden" @@ -52,14 +49,14 @@ ></formulate-input> {% endif %} {% if self.config.show_name_input %} - <formulate-input type="text" name="first_name" validation-name="Křestní jméno" :input-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.first_name }}" + <formulate-input type="text" name="first_name" validation-name="Křestní jméno" label="{{ self.design.labels.first_name }}" placeholder="{{ self.design.labels.first_name }}" validation="required" error-behavior="blur" label-class="sr-only"></formulate-input> - <formulate-input type="text" name="last_name" validation-name="Příjmení" :input-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.last_name }}" + <formulate-input type="text" name="last_name" validation-name="Příjmení" label="{{ self.design.labels.last_name }}" placeholder="{{ self.design.labels.last_name }}" validation="required" error-behavior="blur" label-class="sr-only"></formulate-input> {% endif %} - <formulate-input type="email" name="email" :input-class="() => ['text-input', 'bg-white', 'form-field__control', 'mb-3', 'w-full']" label="{{ self.design.labels.email }}" + <formulate-input type="email" name="email" label="{{ self.design.labels.email }}" placeholder="{{ self.design.labels.email }}" validation-name="E-mail" validation="^required|email" error-behavior="blur" label-class="sr-only"></formulate-input> <formulate-input type="checkbox" name="consent" validation-name="souhlas s osobními údaji" :wrapper-class="() => []" :input-class="() => []" :element-class="() => ['checkbox', 'form-field__control', 'flex', 'items-center', 'mb-3']" validation="required" error-behavior="blur"> diff --git a/uniweb/migrations/0044_uniwebflexiblepage_access_token_and_more.py b/uniweb/migrations/0044_uniwebflexiblepage_access_token_and_more.py deleted file mode 100644 index 0f5950502626818f3daa2e3d21d518d185e654ce..0000000000000000000000000000000000000000 --- a/uniweb/migrations/0044_uniwebflexiblepage_access_token_and_more.py +++ /dev/null @@ -1,1537 +0,0 @@ -# Generated by Django 4.1.8 on 2023-05-12 22:44 - -import wagtail.blocks -import wagtail.blocks.static_block -import wagtail.contrib.table_block.blocks -import wagtail.fields -import wagtail.images.blocks -from django.db import migrations, models - -import shared.blocks - - -class Migration(migrations.Migration): - dependencies = [ - ("uniweb", "0043_merge_20230502_1854"), - ] - - operations = [ - migrations.AddField( - model_name="uniwebflexiblepage", - name="access_token", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="Access token" - ), - ), - migrations.AddField( - model_name="uniwebflexiblepage", - name="require_confirmation", - field=models.BooleanField( - default=True, verbose_name="Požadovat zaslání ověřovacího e-mailu?" - ), - ), - migrations.AddField( - model_name="uniwebflexiblepage", - name="subscription_id", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="ID newsletteru" - ), - ), - migrations.AddField( - model_name="uniwebhomepage", - name="access_token", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="Access token" - ), - ), - migrations.AddField( - model_name="uniwebhomepage", - name="require_confirmation", - field=models.BooleanField( - default=True, verbose_name="Požadovat zaslání ověřovacího e-mailu?" - ), - ), - migrations.AddField( - model_name="uniwebhomepage", - name="subscription_id", - field=models.CharField( - blank=True, max_length=512, null=True, verbose_name="ID newsletteru" - ), - ), - migrations.AlterField( - model_name="uniwebflexiblepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "title", - wagtail.blocks.CharBlock( - group="nadpisy", - icon="title", - label="nadpis", - template="uniweb/blocks/title.html", - ), - ), - ( - "advanced_title", - wagtail.blocks.StructBlock( - [ - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("left", "vlevo"), - ("center", "uprostřed"), - ("right", "vpravo"), - ], - label="zarovnání", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ("title", wagtail.blocks.CharBlock(label="nadpis")), - ] - ), - ), - ( - "picture_title", - wagtail.blocks.StructBlock( - [ - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ("title", wagtail.blocks.CharBlock(label="nadpis")), - ( - "picture", - wagtail.images.blocks.ImageChooserBlock( - help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", - label="obrázek", - ), - ), - ] - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - group="texty", - label="text", - template="uniweb/blocks/text.html", - ), - ), - ( - "advanced_text", - wagtail.blocks.StructBlock( - [ - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("left", "vlevo"), - ("center", "uprostřed"), - ("right", "vpravo"), - ], - label="zarovnání", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="text", - ), - ), - ] - ), - ), - ( - "text_columns", - wagtail.blocks.StructBlock( - [ - ( - "left_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="levý sloupec", - ), - ), - ( - "right_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="pravý sloupec", - ), - ), - ] - ), - ), - ( - "advanced_text_columns", - wagtail.blocks.StructBlock( - [ - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("left", "vlevo"), - ("center", "uprostřed"), - ("right", "vpravo"), - ], - label="zarovnání", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ( - "left_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="levý sloupec", - ), - ), - ( - "right_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="pravý sloupec", - ), - ), - ] - ), - ), - ( - "gallery", - wagtail.blocks.ListBlock( - wagtail.images.blocks.ImageChooserBlock(label="obrázek"), - group="ostatní", - icon="image", - label="galerie", - template="uniweb/blocks/gallery.html", - ), - ), - ( - "picture_list", - wagtail.blocks.StructBlock( - [ - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ( - "items", - wagtail.blocks.ListBlock( - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="odstavec", - ), - label="odstavce", - ), - ), - ( - "picture", - wagtail.images.blocks.ImageChooserBlock( - help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", - label="obrázek", - ), - ), - ] - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - group="ostatní", - label="tabulka", - template="uniweb/blocks/table.html", - ), - ), - ( - "articles", - wagtail.blocks.StructBlock( - [ - ( - "page", - wagtail.blocks.PageChooserBlock( - label="sekce článků", - page_type=["uniweb.UniwebArticlesIndexPage"], - ), - ), - ( - "lines", - wagtail.blocks.IntegerBlock( - default=1, - help_text="zobrazí se tři články na řádek", - label="počet řádků", - ), - ), - ] - ), - ), - ( - "calendar_agenda", - wagtail.blocks.StructBlock( - [ - ( - "info", - wagtail.blocks.static_block.StaticBlock( - admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", - label="volba kalendáře", - ), - ), - ( - "count", - wagtail.blocks.IntegerBlock( - default=10, label="maximum událostí k zobrazení" - ), - ), - ( - "event_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("future", "budoucí"), - ("past", "proběhlé"), - ], - label="druh událostí", - ), - ), - ] - ), - ), - ( - "chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Název", max_length=120 - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Graf se sloupci"), - ( - "horizontalBar", - "Graf s vodorovnými sloupci", - ), - ("pie", "Koláčový graf"), - ("doughnut", "Donutový graf"), - ("polarArea", "Graf polární oblasti"), - ("radar", "Radarový graf"), - ("line", "Graf s liniemi"), - ], - label="Typ", - ), - ), - ( - "hide_points", - wagtail.blocks.BooleanBlock( - help_text="Mění vzhled pouze u linových grafů.", - label="Schovat body", - required=False, - ), - ), - ( - "local_labels", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Skupina", max_length=40 - ), - blank=True, - collapsed=True, - default=[], - label="Místně definované skupiny", - required=False, - ), - ), - ( - "local_datasets", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - label="Označení zdroje dat", - max_length=120, - ), - ), - ( - "data", - wagtail.blocks.ListBlock( - wagtail.blocks.IntegerBlock(), - default=[0], - label="Data", - ), - ), - ] - ), - blank=True, - collapsed=True, - default=[], - label="Místní zdroje dat", - required=False, - ), - ), - ( - "redmine_issue_datasets", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "projects", - wagtail.blocks.MultipleChoiceBlock( - choices=shared.blocks.get_redmine_projects, - label="Projekty", - ), - ), - ( - "is_open", - wagtail.blocks.BooleanBlock( - label="Jen otevřené", - required=False, - ), - ), - ( - "is_closed", - wagtail.blocks.BooleanBlock( - label="Jen uzavřené", - required=False, - ), - ), - ( - "created_on_min_date", - wagtail.blocks.DateBlock( - label="Min. datum vytvoření", - required=True, - ), - ), - ( - "created_on_max_date", - wagtail.blocks.DateBlock( - label="Max. datum vytvoření", - required=True, - ), - ), - ( - "updated_on", - wagtail.blocks.CharBlock( - help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", - label="Filtr pro datum aktualizace", - max_length=128, - required=False, - ), - ), - ( - "issue_label", - wagtail.blocks.CharBlock( - label="Označení úkolů uvnitř grafu", - max_length=128, - required=True, - ), - ), - ( - "split_per_project", - wagtail.blocks.BooleanBlock( - label="Rozdělit podle projektu", - required=False, - ), - ), - ( - "only_grow", - wagtail.blocks.BooleanBlock( - label="Pouze růst nahoru", - required=False, - ), - ), - ], - label="Redmine úkoly", - ), - blank=True, - default=[], - help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", - label="Zdroje dat z Redmine (úkoly)", - required=False, - ), - ), - ], - template="uniweb/blocks/chart.html", - ), - ), - ( - "newsletter", - wagtail.blocks.StructBlock( - [ - ( - "design", - wagtail.blocks.StructBlock( - [ - ( - "icon", - wagtail.images.blocks.ImageChooserBlock( - help_text="Pokud žádnou nevyberete, zobrazí se ikonka pro lahev v moři", - label="Vyberte si ikonku k formuláři", - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - default="Odebírej náš newsletter", - label="Nadpis formuláře", - ), - ), - ( - "subtitle", - wagtail.blocks.CharBlock( - default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", - label="Podnadpis formuláře", - ), - ), - ( - "consent", - wagtail.blocks.RichTextBlock( - default="Souhlasím se zpracováním osobních údajů", - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Souhlas se zpracováním osobních údajů", - ), - ), - ( - "button", - wagtail.blocks.CharBlock( - default="Odebírat", - label="Tlačítko pro přihlášení k newsletteru", - ), - ), - ( - "require_confirmation", - wagtail.blocks.CharBlock( - default="Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.", - label="Zpráva o úspěšném zaslání potvrzovacího emailu", - ), - ), - ( - "no_require_confirmation", - wagtail.blocks.CharBlock( - default="Jsi přihlášen/a k odběru našich novinek.", - help_text="Zobrazí se pouze pokud od uživatele nepožadujeme ověřovací email", - label="Zpráva o úspěšném zaregistrování k newsletteru", - ), - ), - ( - "labels", - wagtail.blocks.StructBlock( - [ - ( - "email", - wagtail.blocks.CharBlock( - default="Tvůj e-mail", - label="Popisek emailu", - ), - ), - ( - "first_name", - wagtail.blocks.CharBlock( - default="Tvoje křestní jméno", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek křestního jména", - ), - ), - ( - "last_name", - wagtail.blocks.CharBlock( - default="Tvoje příjmení", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek příjmení", - ), - ), - ], - label="popisky vstupů uživatele", - required=True, - ), - ), - ], - label="Design formuláře", - required=True, - ), - ), - ( - "config", - wagtail.blocks.StructBlock( - [ - ( - "show_name_input", - wagtail.blocks.BooleanBlock( - label="Umožnit uživateli přidat jméno a příjmení?", - required=False, - ), - ), - ( - "force_subscribe", - wagtail.blocks.BooleanBlock( - default=True, - label="Přihlásit uživatele, i když se v minulosti odhlásil?", - required=False, - ), - ), - ( - "send_timezone", - wagtail.blocks.BooleanBlock( - label="Zasílat timezone podle uživatelova prohlížeče?", - required=False, - ), - ), - ], - label="Konfigurace", - required=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="obsah stránky", - ), - ), - migrations.AlterField( - model_name="uniwebhomepage", - name="content", - field=wagtail.fields.StreamField( - [ - ( - "title", - wagtail.blocks.CharBlock( - group="nadpisy", - icon="title", - label="nadpis", - template="uniweb/blocks/title.html", - ), - ), - ( - "advanced_title", - wagtail.blocks.StructBlock( - [ - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("left", "vlevo"), - ("center", "uprostřed"), - ("right", "vpravo"), - ], - label="zarovnání", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ("title", wagtail.blocks.CharBlock(label="nadpis")), - ] - ), - ), - ( - "picture_title", - wagtail.blocks.StructBlock( - [ - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ("title", wagtail.blocks.CharBlock(label="nadpis")), - ( - "picture", - wagtail.images.blocks.ImageChooserBlock( - help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", - label="obrázek", - ), - ), - ] - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - group="texty", - label="text", - template="uniweb/blocks/text.html", - ), - ), - ( - "advanced_text", - wagtail.blocks.StructBlock( - [ - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("left", "vlevo"), - ("center", "uprostřed"), - ("right", "vpravo"), - ], - label="zarovnání", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ( - "text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="text", - ), - ), - ] - ), - ), - ( - "text_columns", - wagtail.blocks.StructBlock( - [ - ( - "left_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="levý sloupec", - ), - ), - ( - "right_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="pravý sloupec", - ), - ), - ] - ), - ), - ( - "advanced_text_columns", - wagtail.blocks.StructBlock( - [ - ( - "align", - wagtail.blocks.ChoiceBlock( - choices=[ - ("left", "vlevo"), - ("center", "uprostřed"), - ("right", "vpravo"), - ], - label="zarovnání", - ), - ), - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ( - "left_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="levý sloupec", - ), - ), - ( - "right_text", - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="pravý sloupec", - ), - ), - ] - ), - ), - ( - "gallery", - wagtail.blocks.ListBlock( - wagtail.images.blocks.ImageChooserBlock(label="obrázek"), - group="ostatní", - icon="image", - label="galerie", - template="uniweb/blocks/gallery.html", - ), - ), - ( - "picture_list", - wagtail.blocks.StructBlock( - [ - ( - "color", - wagtail.blocks.ChoiceBlock( - choices=[ - ("black_on_white", "černá na bílé"), - ("white_on_black", "bílá na černé"), - ("white_on_blue", "bílá na modré"), - ("white_on_cyan", "bílá na tyrkysové"), - ("white_on_violet", "bílá na fialové"), - ], - label="barva", - ), - ), - ( - "items", - wagtail.blocks.ListBlock( - wagtail.blocks.RichTextBlock( - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="odstavec", - ), - label="odstavce", - ), - ), - ( - "picture", - wagtail.images.blocks.ImageChooserBlock( - help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", - label="obrázek", - ), - ), - ] - ), - ), - ( - "table", - wagtail.contrib.table_block.blocks.TableBlock( - group="ostatní", - label="tabulka", - template="uniweb/blocks/table.html", - ), - ), - ( - "articles", - wagtail.blocks.StructBlock( - [ - ( - "page", - wagtail.blocks.PageChooserBlock( - label="sekce článků", - page_type=["uniweb.UniwebArticlesIndexPage"], - ), - ), - ( - "lines", - wagtail.blocks.IntegerBlock( - default=1, - help_text="zobrazí se tři články na řádek", - label="počet řádků", - ), - ), - ] - ), - ), - ( - "calendar_agenda", - wagtail.blocks.StructBlock( - [ - ( - "info", - wagtail.blocks.static_block.StaticBlock( - admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", - label="volba kalendáře", - ), - ), - ( - "count", - wagtail.blocks.IntegerBlock( - default=10, label="maximum událostí k zobrazení" - ), - ), - ( - "event_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("future", "budoucí"), - ("past", "proběhlé"), - ], - label="druh událostí", - ), - ), - ] - ), - ), - ( - "chart", - wagtail.blocks.StructBlock( - [ - ( - "title", - wagtail.blocks.CharBlock( - label="Název", max_length=120 - ), - ), - ( - "chart_type", - wagtail.blocks.ChoiceBlock( - choices=[ - ("bar", "Graf se sloupci"), - ( - "horizontalBar", - "Graf s vodorovnými sloupci", - ), - ("pie", "Koláčový graf"), - ("doughnut", "Donutový graf"), - ("polarArea", "Graf polární oblasti"), - ("radar", "Radarový graf"), - ("line", "Graf s liniemi"), - ], - label="Typ", - ), - ), - ( - "hide_points", - wagtail.blocks.BooleanBlock( - help_text="Mění vzhled pouze u linových grafů.", - label="Schovat body", - required=False, - ), - ), - ( - "local_labels", - wagtail.blocks.ListBlock( - wagtail.blocks.CharBlock( - label="Skupina", max_length=40 - ), - blank=True, - collapsed=True, - default=[], - label="Místně definované skupiny", - required=False, - ), - ), - ( - "local_datasets", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "label", - wagtail.blocks.CharBlock( - label="Označení zdroje dat", - max_length=120, - ), - ), - ( - "data", - wagtail.blocks.ListBlock( - wagtail.blocks.IntegerBlock(), - default=[0], - label="Data", - ), - ), - ] - ), - blank=True, - collapsed=True, - default=[], - label="Místní zdroje dat", - required=False, - ), - ), - ( - "redmine_issue_datasets", - wagtail.blocks.ListBlock( - wagtail.blocks.StructBlock( - [ - ( - "projects", - wagtail.blocks.MultipleChoiceBlock( - choices=shared.blocks.get_redmine_projects, - label="Projekty", - ), - ), - ( - "is_open", - wagtail.blocks.BooleanBlock( - label="Jen otevřené", - required=False, - ), - ), - ( - "is_closed", - wagtail.blocks.BooleanBlock( - label="Jen uzavřené", - required=False, - ), - ), - ( - "created_on_min_date", - wagtail.blocks.DateBlock( - label="Min. datum vytvoření", - required=True, - ), - ), - ( - "created_on_max_date", - wagtail.blocks.DateBlock( - label="Max. datum vytvoření", - required=True, - ), - ), - ( - "updated_on", - wagtail.blocks.CharBlock( - help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", - label="Filtr pro datum aktualizace", - max_length=128, - required=False, - ), - ), - ( - "issue_label", - wagtail.blocks.CharBlock( - label="Označení úkolů uvnitř grafu", - max_length=128, - required=True, - ), - ), - ( - "split_per_project", - wagtail.blocks.BooleanBlock( - label="Rozdělit podle projektu", - required=False, - ), - ), - ( - "only_grow", - wagtail.blocks.BooleanBlock( - label="Pouze růst nahoru", - required=False, - ), - ), - ], - label="Redmine úkoly", - ), - blank=True, - default=[], - help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", - label="Zdroje dat z Redmine (úkoly)", - required=False, - ), - ), - ], - template="uniweb/blocks/chart.html", - ), - ), - ( - "newsletter", - wagtail.blocks.StructBlock( - [ - ( - "design", - wagtail.blocks.StructBlock( - [ - ( - "icon", - wagtail.images.blocks.ImageChooserBlock( - help_text="Pokud žádnou nevyberete, zobrazí se ikonka pro lahev v moři", - label="Vyberte si ikonku k formuláři", - required=False, - ), - ), - ( - "title", - wagtail.blocks.CharBlock( - default="Odebírej náš newsletter", - label="Nadpis formuláře", - ), - ), - ( - "subtitle", - wagtail.blocks.CharBlock( - default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", - label="Podnadpis formuláře", - ), - ), - ( - "consent", - wagtail.blocks.RichTextBlock( - default="Souhlasím se zpracováním osobních údajů", - features=[ - "h2", - "h3", - "h4", - "h5", - "bold", - "italic", - "ol", - "ul", - "hr", - "link", - "document-link", - "image", - "superscript", - "subscript", - "strikethrough", - "blockquote", - "embed", - ], - label="Souhlas se zpracováním osobních údajů", - ), - ), - ( - "button", - wagtail.blocks.CharBlock( - default="Odebírat", - label="Tlačítko pro přihlášení k newsletteru", - ), - ), - ( - "require_confirmation", - wagtail.blocks.CharBlock( - default="Zkontroluj si prosím schránku, poslali jsme ti potvrzovací e-mail.", - label="Zpráva o úspěšném zaslání potvrzovacího emailu", - ), - ), - ( - "no_require_confirmation", - wagtail.blocks.CharBlock( - default="Jsi přihlášen/a k odběru našich novinek.", - help_text="Zobrazí se pouze pokud od uživatele nepožadujeme ověřovací email", - label="Zpráva o úspěšném zaregistrování k newsletteru", - ), - ), - ( - "labels", - wagtail.blocks.StructBlock( - [ - ( - "email", - wagtail.blocks.CharBlock( - default="Tvůj e-mail", - label="Popisek emailu", - ), - ), - ( - "first_name", - wagtail.blocks.CharBlock( - default="Tvoje křestní jméno", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek křestního jména", - ), - ), - ( - "last_name", - wagtail.blocks.CharBlock( - default="Tvoje příjmení", - help_text="Zobrazí se, pouze pokud umožníte zadat jméno v konfiguraci", - label="Popisek příjmení", - ), - ), - ], - label="popisky vstupů uživatele", - required=True, - ), - ), - ], - label="Design formuláře", - required=True, - ), - ), - ( - "config", - wagtail.blocks.StructBlock( - [ - ( - "show_name_input", - wagtail.blocks.BooleanBlock( - label="Umožnit uživateli přidat jméno a příjmení?", - required=False, - ), - ), - ( - "force_subscribe", - wagtail.blocks.BooleanBlock( - default=True, - label="Přihlásit uživatele, i když se v minulosti odhlásil?", - required=False, - ), - ), - ( - "send_timezone", - wagtail.blocks.BooleanBlock( - label="Zasílat timezone podle uživatelova prohlížeče?", - required=False, - ), - ), - ], - label="Konfigurace", - required=True, - ), - ), - ] - ), - ), - ], - blank=True, - use_json_field=True, - verbose_name="obsah stránky", - ), - ), - ] diff --git a/uniweb/models.py b/uniweb/models.py index 9d798ff285007dab0c1113fbea51752213d6323c..3dd6ad6c03bc9e11f1a790cd483d4620c4542f0b 100644 --- a/uniweb/models.py +++ b/uniweb/models.py @@ -307,8 +307,6 @@ class UniwebHomePage( ExtendedMetadataHomePageMixin, MetadataPageMixin, CalendarMixin, - NewsletterFormMixin, - RoutablePageMixin, FooterMixin, ): ### FIELDS @@ -372,7 +370,6 @@ class UniwebHomePage( ], "nastavení webu", ), - *NewsletterFormMixin.settings_panels, FieldPanel("calendar_url"), MultiFieldPanel( [ @@ -410,10 +407,6 @@ class UniwebHomePage( ### OTHERS - @route(r"^newsletter/$", name="newsletter") - def newsletter(self, posted): - return self.newsletter_post(posted) - class Meta: verbose_name = "Univerzální web" @@ -431,7 +424,6 @@ class UniwebFlexiblePage( ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, - NewsletterFormMixin, RoutablePageMixin, ): ### FIELDS @@ -451,7 +443,7 @@ class UniwebFlexiblePage( FieldPanel("content"), ] - settings_panels = NewsletterFormMixin.settings_panels + settings_panels = [] ### RELATIONS @@ -464,10 +456,6 @@ class UniwebFlexiblePage( ### OTHERS - @route(r"^newsletter/$", name="newsletter") - def newsletter(self, posted): - return self.newsletter_post(posted) - class Meta: verbose_name = "Flexibilní stránka"