diff --git a/district/migrations/0318_districthomepage_ecomail_newsletter_list_source.py b/district/migrations/0318_districthomepage_ecomail_newsletter_list_source.py new file mode 100644 index 0000000000000000000000000000000000000000..d1ed467873650336dd98adfeb81bd285ff9c10ef --- /dev/null +++ b/district/migrations/0318_districthomepage_ecomail_newsletter_list_source.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-24 20:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('district', '0317_alter_districtarticlepage_content_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='districthomepage', + name='ecomail_newsletter_list_source', + field=models.CharField(blank=True, default='web-nl-generic', help_text='NenĂ nutno mÄ›nit.', null=True, verbose_name='Ecomail newsletter zdroj'), + ), + ] diff --git a/district/models.py b/district/models.py index 8ee614df89d3facf00c16db0cb0225ba0ac74277..b07ce6802fbdb8301a3a2490049dc4b0e278173e 100644 --- a/district/models.py +++ b/district/models.py @@ -49,6 +49,7 @@ from shared.blocks import ( from shared.const import RICH_TEXT_DEFAULT_FEATURES from shared.models import ( CustomLogoMixin, + EcomailNewsletterMixin, ExtendedMetadataPageMixin, MainArticlePageMixin, MainArticlesPageMixin, @@ -82,7 +83,9 @@ CONTENT_BLOCKS = DEFAULT_CONTENT_BLOCKS + [ ] -class DistrictHomePage(CustomLogoMixin, CalendarMixin, MainHomePageMixin): +class DistrictHomePage( + CustomLogoMixin, CalendarMixin, EcomailNewsletterMixin, MainHomePageMixin +): ### FIELDS # Main section @@ -129,20 +132,6 @@ class DistrictHomePage(CustomLogoMixin, CalendarMixin, MainHomePageMixin): help_text="ID newsletteru z Mailtrainu. Po vyplnÄ›nĂ se formulář pro odbÄ›r newsletteru zobrazĂ na ĂşvodnĂ stránce a na stránce s kontakty.", ) - ecomail_newsletter_list_id = models.IntegerField( - "ID Ecomail newsletteru", - blank=True, - null=True, - ) - - ecomail_newsletter_list_tags = models.CharField( - "Tagy k pĹ™idánĂ novĂ˝m odbÄ›ratelĹŻm na Ecomailu", - max_length=128, - blank=True, - null=True, - help_text="OddÄ›lte čárkou, napĹ™Ăklad 'Tag1,Tag2,Tag3'. Bez mezer.", - ) - newsletter_description = models.CharField( "Popis newsletteru", max_length=250, @@ -212,6 +201,7 @@ class DistrictHomePage(CustomLogoMixin, CalendarMixin, MainHomePageMixin): FieldPanel("newsletter_list_id"), FieldPanel("ecomail_newsletter_list_id"), FieldPanel("ecomail_newsletter_list_tags"), + FieldPanel("ecomail_newsletter_list_source"), ], "Formulář pro odbÄ›r newsletteru", ), diff --git a/main/migrations/0156_mainhomepage_ecomail_newsletter_list_source.py b/main/migrations/0156_mainhomepage_ecomail_newsletter_list_source.py new file mode 100644 index 0000000000000000000000000000000000000000..3154c5e5c6bb9b2dc13121e5be63baaca2afdea8 --- /dev/null +++ b/main/migrations/0156_mainhomepage_ecomail_newsletter_list_source.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-24 20:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0155_alter_mainarticlepage_content_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='mainhomepage', + name='ecomail_newsletter_list_source', + field=models.CharField(blank=True, default='web-nl-generic', help_text='NenĂ nutno mÄ›nit.', null=True, verbose_name='Ecomail newsletter zdroj'), + ), + ] diff --git a/main/models.py b/main/models.py index e4b62d26e1e1c8dcd6e59e341bab3f07ebb95e37..90baea38877a818d22da97a56045a8c934058b58 100644 --- a/main/models.py +++ b/main/models.py @@ -26,6 +26,7 @@ from shared import blocks as shared_blocks from shared.const import RICH_TEXT_DEFAULT_FEATURES from shared.models import ( # MenuMixin, ArticleMixin, + EcomailNewsletterMixin, ExtendedMetadataHomePageMixin, ExtendedMetadataPageMixin, MainArticlePageMixin, @@ -47,7 +48,7 @@ from . import blocks from .forms import CareerSubmissionForm, MainArticlesPageForm -class MainHomePage(MainHomePageMixin): +class MainHomePage(EcomailNewsletterMixin, MainHomePageMixin): # menu popout_button_name = models.CharField( @@ -66,20 +67,6 @@ class MainHomePage(MainHomePageMixin): use_json_field=True, ) - ecomail_newsletter_list_id = models.IntegerField( - "ID Ecomail newsletteru", - blank=True, - null=True, - ) - - ecomail_newsletter_list_tags = models.CharField( - "Tagy k pĹ™idánĂ novĂ˝m odbÄ›ratelĹŻm na Ecomailu", - max_length=128, - blank=True, - null=True, - help_text="OddÄ›lte čárkou, napĹ™Ăklad 'Tag1,Tag2,Tag3'. Bez mezer.", - ) - # content content = StreamField( [ @@ -149,6 +136,7 @@ class MainHomePage(MainHomePageMixin): + [ FieldPanel("ecomail_newsletter_list_id"), FieldPanel("ecomail_newsletter_list_tags"), + FieldPanel("ecomail_newsletter_list_source"), ], heading="NastavenĂ", ), diff --git a/make_a_wish/migrations/0008_makeawishroot_ecomail_newsletter_list_id_and_more.py b/make_a_wish/migrations/0008_makeawishroot_ecomail_newsletter_list_id_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..69f8d0eb99e414131228fc910375e1237b471229 --- /dev/null +++ b/make_a_wish/migrations/0008_makeawishroot_ecomail_newsletter_list_id_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.7 on 2025-03-24 16:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('make_a_wish', '0007_makeawishroot_matomo_id'), + ] + + operations = [ + migrations.AddField( + model_name='makeawishroot', + name='ecomail_newsletter_list_id', + field=models.IntegerField(blank=True, null=True, verbose_name='ID Ecomail newsletteru'), + ), + migrations.AddField( + model_name='makeawishroot', + name='ecomail_newsletter_list_tags', + field=models.CharField(blank=True, help_text="OddÄ›lte čárkou, napĹ™Ăklad 'Tag1,Tag2,Tag3'. Bez mezer.", max_length=128, null=True, verbose_name='Tagy k pĹ™idánĂ novĂ˝m odbÄ›ratelĹŻm na Ecomailu'), + ), + ] diff --git a/make_a_wish/migrations/0009_makeawishroot_ecomail_newsletter_list_source.py b/make_a_wish/migrations/0009_makeawishroot_ecomail_newsletter_list_source.py new file mode 100644 index 0000000000000000000000000000000000000000..c7fd7c73745645eec73e444f46e20f489f39f0ea --- /dev/null +++ b/make_a_wish/migrations/0009_makeawishroot_ecomail_newsletter_list_source.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-24 20:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('make_a_wish', '0008_makeawishroot_ecomail_newsletter_list_id_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='makeawishroot', + name='ecomail_newsletter_list_source', + field=models.CharField(blank=True, default='web-nl-generic', help_text='NenĂ nutno mÄ›nit.', null=True, verbose_name='Ecomail newsletter zdroj'), + ), + ] diff --git a/make_a_wish/migrations/0010_makeawishroot_fbevents_id.py b/make_a_wish/migrations/0010_makeawishroot_fbevents_id.py new file mode 100644 index 0000000000000000000000000000000000000000..65287ce295ad60aadd283eff9426071c2aef1c4d --- /dev/null +++ b/make_a_wish/migrations/0010_makeawishroot_fbevents_id.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-25 16:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('make_a_wish', '0009_makeawishroot_ecomail_newsletter_list_source'), + ] + + operations = [ + migrations.AddField( + model_name='makeawishroot', + name='fbevents_id', + field=models.CharField(blank=True, max_length=64, null=True, verbose_name='InternĂ ID 1'), + ), + ] diff --git a/make_a_wish/models.py b/make_a_wish/models.py index 95381ca9b9c7f1bb130b39223abb9ecb4debbc8a..336f0302c71aa563626d7ae02dc0619770747d90 100644 --- a/make_a_wish/models.py +++ b/make_a_wish/models.py @@ -7,7 +7,12 @@ from wagtail.fields import StreamField from wagtail.models import Page from wagtailmetadata.models import MetadataPageMixin -from shared.models import ExtendedMetadataHomePageMixin +from shared.models import ( + EcomailNewsletterMixin, + ExtendedMetadataHomePageMixin, + FbEventsMixin, +) +from shared.utils import subscribe_to_ecomail_newsletter from shared_legacy.utils import make_promote_panels from .blocks import CommonWishBlock, StatBlock, TourDateBlock @@ -20,7 +25,12 @@ class MakeAWIshFormField(AbstractFormField): class MakeAWishRoot( - AbstractForm, ExtendedMetadataHomePageMixin, MetadataPageMixin, Page + AbstractForm, + ExtendedMetadataHomePageMixin, + MetadataPageMixin, + EcomailNewsletterMixin, + FbEventsMixin, + Page, ): main_text = models.TextField(verbose_name="HlavnĂ text") success_text = models.TextField(verbose_name="Text po odeslánĂ formuláře") @@ -73,7 +83,14 @@ class MakeAWishRoot( InlinePanel("form_fields", label="Formulář - nemÄ›nit!!"), ] - promote_panels = make_promote_panels() + [FieldPanel("matomo_id")] + promote_panels = make_promote_panels() + [ + FieldPanel("matomo_id"), + FieldPanel("ecomail_newsletter_list_id"), + FieldPanel("ecomail_newsletter_list_tags"), + FieldPanel("ecomail_newsletter_list_source"), + ] + + advanced_panels = [FieldPanel("fbevents_id")] submissions_panels = [FormSubmissionsPanel()] @@ -82,8 +99,43 @@ class MakeAWishRoot( ObjectList(content_panels, heading="Obsah"), ObjectList(promote_panels, heading="Metadata"), ObjectList(submissions_panels, heading="Data z formuláře"), + ObjectList(advanced_panels, heading="PokroÄŤilĂ©"), ] ) + def process_form_submission(self, form): + # Custom code on form submission + cleaned_data = form.cleaned_data + + if cleaned_data["e_mail"] and self.ecomail_newsletter_list_id: + name_and_surname = cleaned_data["jmeno_a_prijmeni"] + name_and_surname = name_and_surname.split(" ") + + name = "" + surname = "" + + if len(name_and_surname) > 1: + name = name_and_surname[0] + surname = " ".join(name_and_surname[1:]) + else: + name = name_and_surname[0] + + custom_data = { + "name": name, + } + + if surname != "": + custom_data["surname"] = surname + + subscribe_to_ecomail_newsletter( + cleaned_data["e_mail"], + self.ecomail_newsletter_list_id, + self.ecomail_newsletter_list_tags, + self.ecomail_newsletter_list_source, + custom_data, + ) + + super().process_form_submission(form) + class Meta: verbose_name = "Máte přánĂ" diff --git a/make_a_wish/templates/make_a_wish/make_a_wish_root.html b/make_a_wish/templates/make_a_wish/make_a_wish_root.html index eee91fcf69b306b0112888cb430d9380b1b20283..a5fbae5f346a27fa74720c147afe62b31da1fead 100644 --- a/make_a_wish/templates/make_a_wish/make_a_wish_root.html +++ b/make_a_wish/templates/make_a_wish/make_a_wish_root.html @@ -5,7 +5,7 @@ {% comment %}quick dirty fix{% endcomment %} <title>Máte přánĂ?</title> - {% if page.root_page.matomo_id %} + {% if page.matomo_id %} {% include "shared/matomo_snippet.html" with matomo_id=page.root_page.matomo_id %} {% endif %} {% endblock %} @@ -18,7 +18,7 @@ <div class="container--wide grid grid-cols-1 xl:grid-cols-2 gap-8"> <div> {% block top_content %} - <div class="prose prose-black text-2xl xl:text-3xl mb-8 xl:!w-[115%%]" style="margin-top: -30px"> + <div class="prose prose-black text-2xl xl:text-3xl mb-8 xl:!w-[115%]" style="margin-top: -30px"> {{ page.main_text }} </div> diff --git a/shared/models/main.py b/shared/models/main.py index 9581a335b0ad98726cfdda900774eb5a0e6f5d54..37b0fff178cc395c958e302f4865131bab3c32f0 100644 --- a/shared/models/main.py +++ b/shared/models/main.py @@ -62,6 +62,45 @@ logger = logging.getLogger(__name__) # --- BEGIN Metadata mixins --- +class FbEventsMixin(models.Model): + fbevents_id = models.CharField( + "InternĂ ID 1", + max_length=64, + blank=True, + null=True, + ) + + class Meta: + abstract = True + + +class EcomailNewsletterMixin(models.Model): + ecomail_newsletter_list_id = models.IntegerField( + "ID Ecomail newsletteru", + blank=True, + null=True, + ) + + ecomail_newsletter_list_tags = models.CharField( + "Tagy k pĹ™idánĂ novĂ˝m odbÄ›ratelĹŻm na Ecomailu", + max_length=128, + blank=True, + null=True, + help_text="OddÄ›lte čárkou, napĹ™Ăklad 'Tag1,Tag2,Tag3'. Bez mezer.", + ) + + ecomail_newsletter_list_source = models.CharField( + "Ecomail newsletter zdroj", + blank=True, + null=True, + default="web-nl-generic", + help_text="NenĂ nutno mÄ›nit.", + ) + + class Meta: + abstract = True + + class ExtendedMetadataHomePageMixin(models.Model): """Use for site home page to define metadata title suffix. @@ -1246,6 +1285,7 @@ class MainHomePageMixin( form.cleaned_data["email"], self.ecomail_newsletter_list_id, self.ecomail_newsletter_list_tags, + self.ecomail_newsletter_list_source, ) messages.success( diff --git a/shared/templates/styleguide2/base.html b/shared/templates/styleguide2/base.html index 71b5537d8a9f65bd6a37ad094dd3ec07403e09a3..a03cd3f25f5ec6ad3f8586f9566ee72328deb793 100644 --- a/shared/templates/styleguide2/base.html +++ b/shared/templates/styleguide2/base.html @@ -37,6 +37,22 @@ {{ page.root_page.custom_css }} </style> {% endif %} + + {% if page.root_page.fbevents_id %} + <!-- Fuck you --> + <script> + !function(f,b,e,v,n,t,s) + {if(f.fbq)return;n=f.fbq=function(){n.callMethod? + n.callMethod.apply(n,arguments):n.queue.push(arguments)}; + if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; + n.queue=[];t=b.createElement(e);t.async=!0; + t.src=v;s=b.getElementsByTagName(e)[0]; + s.parentNode.insertBefore(t,s)}(window, document,'script', + 'https://connect.facebook.net/en_US/fbevents.js'); + fbq('init', '{{ page.root_page.fbevents_id }}'); + fbq('track', 'PageView'); + </script> + {% endif %} </head> <body class="__{{ page.content_type.model }}"> diff --git a/shared/utils.py b/shared/utils.py index 9a3efc63003e59005f9fd980ea419ef4e38b3d05..07654e3b591fcf0205b6930c0b1e023a02801897 100644 --- a/shared/utils.py +++ b/shared/utils.py @@ -70,13 +70,24 @@ def subscribe_to_newsletter(email, list_id): return response -def subscribe_to_ecomail_newsletter(email, list_id: int, categories: str): +def subscribe_to_ecomail_newsletter( + email: str, + list_id: int, + categories: str, + source: str, + custom_data: dict | None = None, +): + if custom_data is None: + custom_data = {} + split_categories = categories.split(",") if categories is not None else [] data = { "subscriber_data": { "email": email, + "source": source, "tags": split_categories, + **custom_data, } } diff --git a/uniweb/blocks.py b/uniweb/blocks.py index 2fcce5e00c38213d63f456f390f98e9198e8b8ca..dfdbc50dc4b02b0eb996ea92d11d2350e999cc39 100644 --- a/uniweb/blocks.py +++ b/uniweb/blocks.py @@ -55,6 +55,19 @@ class PeopleGroupListBlock(StructBlock): # New blocks +class UniwebSubpageFormBlock(StructBlock): + page = PageChooserBlock( + page_type=["uniweb.UniwebFormPage"], + label="Formulářová stránka", + ) + + class Meta: + template = "uniweb/blocks/embedded_subpage_form.html" + icon = "list-ul" + label = "Obsah formuláře (viz. dokumentace form. stránek)" + group = "3. OstatnĂ" + + class PersonCustomPositionBlock(PersonCustomPositionBlockMixin): page = PageChooserBlock( page_type=["uniweb.UniwebPersonPage", "district.DistrictPersonPage"], diff --git a/uniweb/migrations/0130_uniwebhomepage_newsletter_list_id.py b/uniweb/migrations/0130_uniwebhomepage_newsletter_list_id.py index 21ac5709e894ad69837148af65687c204f1ad016..62d1bbf5effbbb7ae33fd7fc1c6ba896535a3e71 100644 --- a/uniweb/migrations/0130_uniwebhomepage_newsletter_list_id.py +++ b/uniweb/migrations/0130_uniwebhomepage_newsletter_list_id.py @@ -4,15 +4,20 @@ from django.db import migrations, models class Migration(migrations.Migration): - dependencies = [ - ('uniweb', '0129_uniwebhomepage_ecomail_newsletter_list_id_and_more'), + ("uniweb", "0129_uniwebhomepage_ecomail_newsletter_list_id_and_more"), ] operations = [ migrations.AddField( - model_name='uniwebhomepage', - name='newsletter_list_id', - field=models.CharField(blank=True, help_text='ID newsletteru z Mailtrainu. Po vyplnÄ›nĂ se formulář pro odbÄ›r newsletteru zobrazĂ na ĂşvodnĂ stránce a na stránce s kontakty.', max_length=20, null=True, verbose_name='ID Mailtrain newsletteru'), + model_name="uniwebhomepage", + name="newsletter_list_id", + field=models.CharField( + blank=True, + help_text="ID newsletteru z Mailtrainu. Po vyplnÄ›nĂ se formulář pro odbÄ›r newsletteru zobrazĂ na ĂşvodnĂ stránce a na stránce s kontakty.", + max_length=20, + null=True, + verbose_name="ID Mailtrain newsletteru", + ), ), ] diff --git a/uniweb/migrations/0131_uniwebhomepage_ecomail_newsletter_list_source.py b/uniweb/migrations/0131_uniwebhomepage_ecomail_newsletter_list_source.py new file mode 100644 index 0000000000000000000000000000000000000000..f18472952a32b06b986b23244642429bdf0ddf90 --- /dev/null +++ b/uniweb/migrations/0131_uniwebhomepage_ecomail_newsletter_list_source.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-24 20:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('uniweb', '0130_uniwebhomepage_newsletter_list_id'), + ] + + operations = [ + migrations.AddField( + model_name='uniwebhomepage', + name='ecomail_newsletter_list_source', + field=models.CharField(blank=True, default='web-nl-generic', help_text='NenĂ nutno mÄ›nit.', null=True, verbose_name='Ecomail newsletter zdroj'), + ), + ] diff --git a/uniweb/migrations/0132_uniwebformpage_show_in_parent_page.py b/uniweb/migrations/0132_uniwebformpage_show_in_parent_page.py new file mode 100644 index 0000000000000000000000000000000000000000..98a38b7166133cdfdd98842bde90e5eca722d8fc --- /dev/null +++ b/uniweb/migrations/0132_uniwebformpage_show_in_parent_page.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-25 15:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('uniweb', '0131_uniwebhomepage_ecomail_newsletter_list_source'), + ] + + operations = [ + migrations.AddField( + model_name='uniwebformpage', + name='show_in_parent_page', + field=models.BooleanField(default=False, help_text='Pokud je toto pole zaškrtnutĂ©, formulář se pĹ™esune do nadĹ™azenĂ© stránky a stránka jemu nadĹ™azená bude nedostupná.', verbose_name='Ukazovat obsah formuláře v nadĹ™azenĂ© stránce?'), + ), + ] diff --git a/uniweb/migrations/0133_alter_uniwebflexiblepage_content_and_more.py b/uniweb/migrations/0133_alter_uniwebflexiblepage_content_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..e4f7acce1da69dd773f0bb77e1539164b52188fc --- /dev/null +++ b/uniweb/migrations/0133_alter_uniwebflexiblepage_content_and_more.py @@ -0,0 +1,39 @@ +# Generated by Django 5.0.7 on 2025-03-25 15:58 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('uniweb', '0132_uniwebformpage_show_in_parent_page'), + ] + + operations = [ + migrations.AlterField( + model_name='uniwebflexiblepage', + name='content', + field=wagtail.fields.StreamField([('text', 0), ('advanced_text', 4), ('two_columns_text', 7), ('headline', 12), ('headline_with_picture', 15), ('picture_list', 19), ('flip_cards', 30), ('table', 31), ('popout_table', 32), ('gallery', 35), ('figure', 38), ('card', 63), ('two_columns', 73), ('three_columns', 75), ('youtube', 76), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70), ('popout_point', 79), ('calendar', 82), ('subpage_form', 84), ('newsletter', 89)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor', 'template': 'styleguide2/includes/atoms/text/prose_richtext.html'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('left', 'vlevo'), ('center', 'uprostĹ™ed'), ('right', 'vpravo')], 'label': 'zarovnánĂ'}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black_on_white', 'ÄŤerná na bĂlĂ©'), ('black_on_yellow', 'ÄŤerná na ĹľlutĂ©'), ('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'}), 3: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor'}), 4: ('wagtail.blocks.StructBlock', [[('align', 1), ('color', 2), ('text', 3)]], {}), 5: ('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'}), 6: ('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'}), 7: ('wagtail.blocks.StructBlock', [[('left_text', 5), ('right_text', 6)]], {}), 8: ('wagtail.blocks.CharBlock', (), {'label': 'Nadpis', 'max_length': 300, 'required': True}), 9: ('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'}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('head-alt-xl', 'VelkĂ˝, Bebas Neue - 6XL'), ('head-alt-lg', 'StĹ™ednĂ, Bebas Neue - 4XL'), ('head-alt-md', 'ZákladnĂ velikost - Roboto - MD'), ('head-alt-sm', 'MalĂ˝ - Roboto - SM'), ('head-alt-xs', 'Extra malĂ˝ - Roboto - XS')], 'help_text': 'Náhled si prohlĂ©dnÄ›te na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.', 'label': 'Velikost'}), 11: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('auto', 'Automaticky'), ('center', 'Na stĹ™ed')], 'label': 'ZarovnánĂ'}), 12: ('wagtail.blocks.StructBlock', [[('headline', 8), ('tag', 9), ('style', 10), ('align', 11)]], {}), 13: ('wagtail.blocks.CharBlock', (), {'label': 'nadpis'}), 14: ('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'}), 15: ('wagtail.blocks.StructBlock', [[('color', 2), ('title', 13), ('picture', 14)]], {}), 16: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'label': 'Odstavec'}), 17: ('wagtail.blocks.ListBlock', (16,), {'label': 'Odstavce'}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'RozmÄ›r 30x30px nebo vĂce (obrázek bude zmenšen na 30x30px)', 'label': 'Obrázek'}), 19: ('wagtail.blocks.StructBlock', [[('color', 2), ('items', 17), ('picture', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'default': 'FEC900', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva pozadĂ'}), 21: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje pozadĂ. Nelze vybrat obÄ› najednou.', 'label': 'Obrázek', 'required': False}), 22: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje obrázek. Nelze vybrat obÄ› najednou.', 'label': 'PozadĂ', 'required': False}), 23: ('wagtail.blocks.TextBlock', (), {'help_text': 'ĹádkovánĂ je manuálnĂ.', 'label': 'Nadpis'}), 24: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva textu'}), 25: ('wagtail.blocks.RichTextBlock', (), {'label': 'Obsah'}), 26: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud nenĂ vyplnÄ›n, tlaÄŤĂtko se neukáže.', 'label': 'Nadpis tlaÄŤĂtka', 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'label': 'Odkaz tlaÄŤĂtka', 'required': False}), 28: ('wagtail.blocks.StructBlock', [[('bg_color', 20), ('image', 21), ('background', 22), ('title', 23), ('title_color', 24), ('content', 25), ('button_text', 26), ('button_url', 27)]], {'label': 'Karta'}), 29: ('wagtail.blocks.ListBlock', (28,), {'label': 'Karty'}), 30: ('wagtail.blocks.StructBlock', [[('cards', 29)]], {}), 31: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'Tabulka', 'template': 'styleguide2/includes/atoms/table/table.html'}), 32: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'RozbalovacĂ tabulka', 'template': 'styleguide2/includes/atoms/table/popout_table.html'}), 33: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'obrázek', 'required': True}), 34: ('wagtail.blocks.ListBlock', (33,), {'group': '3. OstatnĂ', 'icon': 'image', 'label': 'Galerie'}), 35: ('wagtail.blocks.StructBlock', [[('gallery_items', 34)]], {'label': 'Galerie'}), 36: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': True}), 37: ('wagtail.blocks.TextBlock', (), {'label': 'Popisek', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('img', 36), ('caption', 37)]], {}), 39: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': False}), 40: ('wagtail.blocks.TextBlock', (), {'label': 'Titulek', 'required': False}), 41: ('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}), 42: ('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}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'NenĂ tĹ™eba vyplĹovat, bude automaticky naÄŤteno z odkazu.', 'label': 'ID videa (automatickĂ© pole)', 'required': False}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Pokud toto pole nenĂ zaškrtlĂ©, video bude užšà neĹľ text okolo.', 'label': 'ZabĂrá maximálnà šĂĹ™ku povolenou pro text?', 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Automaticky spustĂ video bez zvuku. Pozor, nÄ›kterĂ© prohlĂĹľeÄŤe blokujĂ i automatickĂ© pĹ™ehrávánĂ videĂ bez zvuku.', 'label': 'Spustit video automaticky?', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {}), 47: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 50.04075', 'label': 'ZemÄ›pisná šĂĹ™ka'}), 48: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 15.77659', 'label': 'ZemÄ›pisná dĂ©lka'}), 49: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva špendlĂku (HEX)'}), 50: ('wagtail.blocks.IntegerBlock', (), {'default': 15, 'label': 'VĂ˝chozĂ zoom', 'max_value': 18, 'min_value': 1}), 51: ('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'}), 52: ('wagtail.blocks.IntegerBlock', (), {'label': 'Výška v px', 'max_value': 1000, 'min_value': 100}), 53: ('wagtail.blocks.StructBlock', [[('lat', 47), ('lon', 48), ('hex_color', 49), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Ĺ pendlĂk na mapÄ›'}), 54: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': True}), 55: ('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}), 56: ('wagtail.blocks.URLBlock', (), {'label': 'Odkaz', 'required': False}), 57: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva (HEX)'}), 58: ('wagtail.blocks.StructBlock', [[('title', 54), ('description', 37), ('geojson', 55), ('image', 39), ('link', 56), ('hex_color', 57)]], {'required': True}), 59: ('wagtail.blocks.ListBlock', (58,), {'label': 'Součásti'}), 60: ('wagtail.blocks.StructBlock', [[('features', 59), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Mapová kolekce'}), 61: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60)]], {'label': 'Obsah', 'required': False}), 62: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Stránka', 'required': False}), 63: ('wagtail.blocks.StructBlock', [[('img', 39), ('headline', 40), ('content', 61), ('page', 62), ('link', 56)]], {}), 64: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'max_length': 128, 'required': True}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black', 'ÄŚerná'), ('white', 'BĂlá'), ('pirati-yellow', 'Ĺ˝lutá'), ('grey-125', 'SvÄ›tle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'VĂnová'), ('red-600', 'ÄŚervená')], 'label': 'Barva'}), 66: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': 'Pokud je zapnuto, tlaÄŤĂtko pĹ™i najetĂ kurzorem ukáže Ĺľlutou šipku.', 'label': 'Animovat na hover', 'required': False}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('normal', 'NormálnĂ'), ('large', 'Velká'), ('huge', 'MasivnĂ')], 'label': 'Velikost tlaÄŤĂtka'}), 68: ('wagtail.blocks.StructBlock', [[('title', 64), ('color', 65), ('hoveractive', 66), ('page', 62), ('link', 56), ('align', 11), ('size', 67)]], {}), 69: ('wagtail.blocks.ListBlock', (68,), {'label': 'TlaÄŤĂtka'}), 70: ('wagtail.blocks.StructBlock', [[('buttons', 69)]], {}), 71: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah levĂ©ho sloupce', 'required': True}), 72: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah pravĂ©ho sloupce', 'required': True}), 73: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('right_column_content', 72)]], {}), 74: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah prostĹ™ednĂho sloupce', 'required': True}), 75: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('middle_column_content', 74), ('right_column_content', 72)]], {}), 76: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {'label': 'YouTube video'}), 77: ('wagtail.blocks.CharBlock', (), {'label': 'Název', 'required': True}), 78: ('wagtail.blocks.StreamBlock', [[('text', 0), ('headline', 12), ('table', 31)]], {'label': 'Obsah'}), 79: ('wagtail.blocks.StructBlock', [[('name', 77), ('content', 78)]], {}), 80: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': False}), 81: ('wagtail.blocks.static_block.StaticBlock', (), {'admin_text': 'Adresa kalendáře se zadává v nastavenĂ hlavnĂ stránky webu', 'label': 'Volba kalendáře'}), 82: ('wagtail.blocks.StructBlock', [[('title', 80), ('info', 81)]], {}), 83: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Formulářová stránka', 'page_type': ['uniweb.UniwebFormPage']}), 84: ('wagtail.blocks.StructBlock', [[('page', 83)]], {}), 85: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud toto pole zĹŻstane nevyplnÄ›nĂ©, pouĹľije se nastavenĂ tohoto webu. V takovĂ©m pĹ™ĂpadÄ› se mĹŻĹľe pĹ™idat i odbÄ›ratel do Ecomailu.', 'label': 'ID newsletteru v Mailtrainu', 'required': False}), 86: ('wagtail.blocks.CharBlock', (), {'default': 'OdebĂrej náš', 'label': 'Nadpis bloku (1. řádek)', 'required': True}), 87: ('wagtail.blocks.CharBlock', (), {'default': 'newsletter', 'label': 'Nadpis bloku (2. řádek)', 'required': True}), 88: ('wagtail.blocks.CharBlock', (), {'default': 'Fake news tam nenajdeš, ale dozvĂš se, co chystáme doopravdy!', 'label': 'Popis newsletteru', 'required': True}), 89: ('wagtail.blocks.StructBlock', [[('list_id', 85), ('title_line_1', 86), ('title_line_2', 87), ('description', 88)]], {})}, verbose_name='obsah stránky'), + ), + migrations.AlterField( + model_name='uniwebformpage', + name='content_after', + field=wagtail.fields.StreamField([('text', 0), ('advanced_text', 4), ('two_columns_text', 7), ('headline', 12), ('headline_with_picture', 15), ('picture_list', 19), ('flip_cards', 30), ('table', 31), ('popout_table', 32), ('gallery', 35), ('figure', 38), ('card', 63), ('two_columns', 73), ('three_columns', 75), ('youtube', 76), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70), ('popout_point', 79), ('calendar', 82), ('subpage_form', 84)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor', 'template': 'styleguide2/includes/atoms/text/prose_richtext.html'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('left', 'vlevo'), ('center', 'uprostĹ™ed'), ('right', 'vpravo')], 'label': 'zarovnánĂ'}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black_on_white', 'ÄŤerná na bĂlĂ©'), ('black_on_yellow', 'ÄŤerná na ĹľlutĂ©'), ('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'}), 3: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor'}), 4: ('wagtail.blocks.StructBlock', [[('align', 1), ('color', 2), ('text', 3)]], {}), 5: ('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'}), 6: ('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'}), 7: ('wagtail.blocks.StructBlock', [[('left_text', 5), ('right_text', 6)]], {}), 8: ('wagtail.blocks.CharBlock', (), {'label': 'Nadpis', 'max_length': 300, 'required': True}), 9: ('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'}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('head-alt-xl', 'VelkĂ˝, Bebas Neue - 6XL'), ('head-alt-lg', 'StĹ™ednĂ, Bebas Neue - 4XL'), ('head-alt-md', 'ZákladnĂ velikost - Roboto - MD'), ('head-alt-sm', 'MalĂ˝ - Roboto - SM'), ('head-alt-xs', 'Extra malĂ˝ - Roboto - XS')], 'help_text': 'Náhled si prohlĂ©dnÄ›te na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.', 'label': 'Velikost'}), 11: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('auto', 'Automaticky'), ('center', 'Na stĹ™ed')], 'label': 'ZarovnánĂ'}), 12: ('wagtail.blocks.StructBlock', [[('headline', 8), ('tag', 9), ('style', 10), ('align', 11)]], {}), 13: ('wagtail.blocks.CharBlock', (), {'label': 'nadpis'}), 14: ('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'}), 15: ('wagtail.blocks.StructBlock', [[('color', 2), ('title', 13), ('picture', 14)]], {}), 16: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'label': 'Odstavec'}), 17: ('wagtail.blocks.ListBlock', (16,), {'label': 'Odstavce'}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'RozmÄ›r 30x30px nebo vĂce (obrázek bude zmenšen na 30x30px)', 'label': 'Obrázek'}), 19: ('wagtail.blocks.StructBlock', [[('color', 2), ('items', 17), ('picture', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'default': 'FEC900', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva pozadĂ'}), 21: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje pozadĂ. Nelze vybrat obÄ› najednou.', 'label': 'Obrázek', 'required': False}), 22: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje obrázek. Nelze vybrat obÄ› najednou.', 'label': 'PozadĂ', 'required': False}), 23: ('wagtail.blocks.TextBlock', (), {'help_text': 'ĹádkovánĂ je manuálnĂ.', 'label': 'Nadpis'}), 24: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva textu'}), 25: ('wagtail.blocks.RichTextBlock', (), {'label': 'Obsah'}), 26: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud nenĂ vyplnÄ›n, tlaÄŤĂtko se neukáže.', 'label': 'Nadpis tlaÄŤĂtka', 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'label': 'Odkaz tlaÄŤĂtka', 'required': False}), 28: ('wagtail.blocks.StructBlock', [[('bg_color', 20), ('image', 21), ('background', 22), ('title', 23), ('title_color', 24), ('content', 25), ('button_text', 26), ('button_url', 27)]], {'label': 'Karta'}), 29: ('wagtail.blocks.ListBlock', (28,), {'label': 'Karty'}), 30: ('wagtail.blocks.StructBlock', [[('cards', 29)]], {}), 31: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'Tabulka', 'template': 'styleguide2/includes/atoms/table/table.html'}), 32: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'RozbalovacĂ tabulka', 'template': 'styleguide2/includes/atoms/table/popout_table.html'}), 33: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'obrázek', 'required': True}), 34: ('wagtail.blocks.ListBlock', (33,), {'group': '3. OstatnĂ', 'icon': 'image', 'label': 'Galerie'}), 35: ('wagtail.blocks.StructBlock', [[('gallery_items', 34)]], {'label': 'Galerie'}), 36: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': True}), 37: ('wagtail.blocks.TextBlock', (), {'label': 'Popisek', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('img', 36), ('caption', 37)]], {}), 39: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': False}), 40: ('wagtail.blocks.TextBlock', (), {'label': 'Titulek', 'required': False}), 41: ('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}), 42: ('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}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'NenĂ tĹ™eba vyplĹovat, bude automaticky naÄŤteno z odkazu.', 'label': 'ID videa (automatickĂ© pole)', 'required': False}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Pokud toto pole nenĂ zaškrtlĂ©, video bude užšà neĹľ text okolo.', 'label': 'ZabĂrá maximálnà šĂĹ™ku povolenou pro text?', 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Automaticky spustĂ video bez zvuku. Pozor, nÄ›kterĂ© prohlĂĹľeÄŤe blokujĂ i automatickĂ© pĹ™ehrávánĂ videĂ bez zvuku.', 'label': 'Spustit video automaticky?', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {}), 47: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 50.04075', 'label': 'ZemÄ›pisná šĂĹ™ka'}), 48: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 15.77659', 'label': 'ZemÄ›pisná dĂ©lka'}), 49: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva špendlĂku (HEX)'}), 50: ('wagtail.blocks.IntegerBlock', (), {'default': 15, 'label': 'VĂ˝chozĂ zoom', 'max_value': 18, 'min_value': 1}), 51: ('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'}), 52: ('wagtail.blocks.IntegerBlock', (), {'label': 'Výška v px', 'max_value': 1000, 'min_value': 100}), 53: ('wagtail.blocks.StructBlock', [[('lat', 47), ('lon', 48), ('hex_color', 49), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Ĺ pendlĂk na mapÄ›'}), 54: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': True}), 55: ('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}), 56: ('wagtail.blocks.URLBlock', (), {'label': 'Odkaz', 'required': False}), 57: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva (HEX)'}), 58: ('wagtail.blocks.StructBlock', [[('title', 54), ('description', 37), ('geojson', 55), ('image', 39), ('link', 56), ('hex_color', 57)]], {'required': True}), 59: ('wagtail.blocks.ListBlock', (58,), {'label': 'Součásti'}), 60: ('wagtail.blocks.StructBlock', [[('features', 59), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Mapová kolekce'}), 61: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60)]], {'label': 'Obsah', 'required': False}), 62: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Stránka', 'required': False}), 63: ('wagtail.blocks.StructBlock', [[('img', 39), ('headline', 40), ('content', 61), ('page', 62), ('link', 56)]], {}), 64: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'max_length': 128, 'required': True}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black', 'ÄŚerná'), ('white', 'BĂlá'), ('pirati-yellow', 'Ĺ˝lutá'), ('grey-125', 'SvÄ›tle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'VĂnová'), ('red-600', 'ÄŚervená')], 'label': 'Barva'}), 66: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': 'Pokud je zapnuto, tlaÄŤĂtko pĹ™i najetĂ kurzorem ukáže Ĺľlutou šipku.', 'label': 'Animovat na hover', 'required': False}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('normal', 'NormálnĂ'), ('large', 'Velká'), ('huge', 'MasivnĂ')], 'label': 'Velikost tlaÄŤĂtka'}), 68: ('wagtail.blocks.StructBlock', [[('title', 64), ('color', 65), ('hoveractive', 66), ('page', 62), ('link', 56), ('align', 11), ('size', 67)]], {}), 69: ('wagtail.blocks.ListBlock', (68,), {'label': 'TlaÄŤĂtka'}), 70: ('wagtail.blocks.StructBlock', [[('buttons', 69)]], {}), 71: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah levĂ©ho sloupce', 'required': True}), 72: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah pravĂ©ho sloupce', 'required': True}), 73: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('right_column_content', 72)]], {}), 74: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah prostĹ™ednĂho sloupce', 'required': True}), 75: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('middle_column_content', 74), ('right_column_content', 72)]], {}), 76: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {'label': 'YouTube video'}), 77: ('wagtail.blocks.CharBlock', (), {'label': 'Název', 'required': True}), 78: ('wagtail.blocks.StreamBlock', [[('text', 0), ('headline', 12), ('table', 31)]], {'label': 'Obsah'}), 79: ('wagtail.blocks.StructBlock', [[('name', 77), ('content', 78)]], {}), 80: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': False}), 81: ('wagtail.blocks.static_block.StaticBlock', (), {'admin_text': 'Adresa kalendáře se zadává v nastavenĂ hlavnĂ stránky webu', 'label': 'Volba kalendáře'}), 82: ('wagtail.blocks.StructBlock', [[('title', 80), ('info', 81)]], {}), 83: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Formulářová stránka', 'page_type': ['uniweb.UniwebFormPage']}), 84: ('wagtail.blocks.StructBlock', [[('page', 83)]], {})}, verbose_name='obsah stránky za formulářem'), + ), + migrations.AlterField( + model_name='uniwebformpage', + name='content_before', + field=wagtail.fields.StreamField([('text', 0), ('advanced_text', 4), ('two_columns_text', 7), ('headline', 12), ('headline_with_picture', 15), ('picture_list', 19), ('flip_cards', 30), ('table', 31), ('popout_table', 32), ('gallery', 35), ('figure', 38), ('card', 63), ('two_columns', 73), ('three_columns', 75), ('youtube', 76), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70), ('popout_point', 79), ('calendar', 82), ('subpage_form', 84)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor', 'template': 'styleguide2/includes/atoms/text/prose_richtext.html'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('left', 'vlevo'), ('center', 'uprostĹ™ed'), ('right', 'vpravo')], 'label': 'zarovnánĂ'}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black_on_white', 'ÄŤerná na bĂlĂ©'), ('black_on_yellow', 'ÄŤerná na ĹľlutĂ©'), ('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'}), 3: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor'}), 4: ('wagtail.blocks.StructBlock', [[('align', 1), ('color', 2), ('text', 3)]], {}), 5: ('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'}), 6: ('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'}), 7: ('wagtail.blocks.StructBlock', [[('left_text', 5), ('right_text', 6)]], {}), 8: ('wagtail.blocks.CharBlock', (), {'label': 'Nadpis', 'max_length': 300, 'required': True}), 9: ('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'}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('head-alt-xl', 'VelkĂ˝, Bebas Neue - 6XL'), ('head-alt-lg', 'StĹ™ednĂ, Bebas Neue - 4XL'), ('head-alt-md', 'ZákladnĂ velikost - Roboto - MD'), ('head-alt-sm', 'MalĂ˝ - Roboto - SM'), ('head-alt-xs', 'Extra malĂ˝ - Roboto - XS')], 'help_text': 'Náhled si prohlĂ©dnÄ›te na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.', 'label': 'Velikost'}), 11: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('auto', 'Automaticky'), ('center', 'Na stĹ™ed')], 'label': 'ZarovnánĂ'}), 12: ('wagtail.blocks.StructBlock', [[('headline', 8), ('tag', 9), ('style', 10), ('align', 11)]], {}), 13: ('wagtail.blocks.CharBlock', (), {'label': 'nadpis'}), 14: ('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'}), 15: ('wagtail.blocks.StructBlock', [[('color', 2), ('title', 13), ('picture', 14)]], {}), 16: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'label': 'Odstavec'}), 17: ('wagtail.blocks.ListBlock', (16,), {'label': 'Odstavce'}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'RozmÄ›r 30x30px nebo vĂce (obrázek bude zmenšen na 30x30px)', 'label': 'Obrázek'}), 19: ('wagtail.blocks.StructBlock', [[('color', 2), ('items', 17), ('picture', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'default': 'FEC900', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva pozadĂ'}), 21: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje pozadĂ. Nelze vybrat obÄ› najednou.', 'label': 'Obrázek', 'required': False}), 22: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje obrázek. Nelze vybrat obÄ› najednou.', 'label': 'PozadĂ', 'required': False}), 23: ('wagtail.blocks.TextBlock', (), {'help_text': 'ĹádkovánĂ je manuálnĂ.', 'label': 'Nadpis'}), 24: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva textu'}), 25: ('wagtail.blocks.RichTextBlock', (), {'label': 'Obsah'}), 26: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud nenĂ vyplnÄ›n, tlaÄŤĂtko se neukáže.', 'label': 'Nadpis tlaÄŤĂtka', 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'label': 'Odkaz tlaÄŤĂtka', 'required': False}), 28: ('wagtail.blocks.StructBlock', [[('bg_color', 20), ('image', 21), ('background', 22), ('title', 23), ('title_color', 24), ('content', 25), ('button_text', 26), ('button_url', 27)]], {'label': 'Karta'}), 29: ('wagtail.blocks.ListBlock', (28,), {'label': 'Karty'}), 30: ('wagtail.blocks.StructBlock', [[('cards', 29)]], {}), 31: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'Tabulka', 'template': 'styleguide2/includes/atoms/table/table.html'}), 32: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'RozbalovacĂ tabulka', 'template': 'styleguide2/includes/atoms/table/popout_table.html'}), 33: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'obrázek', 'required': True}), 34: ('wagtail.blocks.ListBlock', (33,), {'group': '3. OstatnĂ', 'icon': 'image', 'label': 'Galerie'}), 35: ('wagtail.blocks.StructBlock', [[('gallery_items', 34)]], {'label': 'Galerie'}), 36: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': True}), 37: ('wagtail.blocks.TextBlock', (), {'label': 'Popisek', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('img', 36), ('caption', 37)]], {}), 39: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': False}), 40: ('wagtail.blocks.TextBlock', (), {'label': 'Titulek', 'required': False}), 41: ('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}), 42: ('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}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'NenĂ tĹ™eba vyplĹovat, bude automaticky naÄŤteno z odkazu.', 'label': 'ID videa (automatickĂ© pole)', 'required': False}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Pokud toto pole nenĂ zaškrtlĂ©, video bude užšà neĹľ text okolo.', 'label': 'ZabĂrá maximálnà šĂĹ™ku povolenou pro text?', 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Automaticky spustĂ video bez zvuku. Pozor, nÄ›kterĂ© prohlĂĹľeÄŤe blokujĂ i automatickĂ© pĹ™ehrávánĂ videĂ bez zvuku.', 'label': 'Spustit video automaticky?', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {}), 47: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 50.04075', 'label': 'ZemÄ›pisná šĂĹ™ka'}), 48: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 15.77659', 'label': 'ZemÄ›pisná dĂ©lka'}), 49: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva špendlĂku (HEX)'}), 50: ('wagtail.blocks.IntegerBlock', (), {'default': 15, 'label': 'VĂ˝chozĂ zoom', 'max_value': 18, 'min_value': 1}), 51: ('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'}), 52: ('wagtail.blocks.IntegerBlock', (), {'label': 'Výška v px', 'max_value': 1000, 'min_value': 100}), 53: ('wagtail.blocks.StructBlock', [[('lat', 47), ('lon', 48), ('hex_color', 49), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Ĺ pendlĂk na mapÄ›'}), 54: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': True}), 55: ('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}), 56: ('wagtail.blocks.URLBlock', (), {'label': 'Odkaz', 'required': False}), 57: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva (HEX)'}), 58: ('wagtail.blocks.StructBlock', [[('title', 54), ('description', 37), ('geojson', 55), ('image', 39), ('link', 56), ('hex_color', 57)]], {'required': True}), 59: ('wagtail.blocks.ListBlock', (58,), {'label': 'Součásti'}), 60: ('wagtail.blocks.StructBlock', [[('features', 59), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Mapová kolekce'}), 61: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60)]], {'label': 'Obsah', 'required': False}), 62: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Stránka', 'required': False}), 63: ('wagtail.blocks.StructBlock', [[('img', 39), ('headline', 40), ('content', 61), ('page', 62), ('link', 56)]], {}), 64: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'max_length': 128, 'required': True}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black', 'ÄŚerná'), ('white', 'BĂlá'), ('pirati-yellow', 'Ĺ˝lutá'), ('grey-125', 'SvÄ›tle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'VĂnová'), ('red-600', 'ÄŚervená')], 'label': 'Barva'}), 66: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': 'Pokud je zapnuto, tlaÄŤĂtko pĹ™i najetĂ kurzorem ukáže Ĺľlutou šipku.', 'label': 'Animovat na hover', 'required': False}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('normal', 'NormálnĂ'), ('large', 'Velká'), ('huge', 'MasivnĂ')], 'label': 'Velikost tlaÄŤĂtka'}), 68: ('wagtail.blocks.StructBlock', [[('title', 64), ('color', 65), ('hoveractive', 66), ('page', 62), ('link', 56), ('align', 11), ('size', 67)]], {}), 69: ('wagtail.blocks.ListBlock', (68,), {'label': 'TlaÄŤĂtka'}), 70: ('wagtail.blocks.StructBlock', [[('buttons', 69)]], {}), 71: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah levĂ©ho sloupce', 'required': True}), 72: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah pravĂ©ho sloupce', 'required': True}), 73: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('right_column_content', 72)]], {}), 74: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah prostĹ™ednĂho sloupce', 'required': True}), 75: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('middle_column_content', 74), ('right_column_content', 72)]], {}), 76: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {'label': 'YouTube video'}), 77: ('wagtail.blocks.CharBlock', (), {'label': 'Název', 'required': True}), 78: ('wagtail.blocks.StreamBlock', [[('text', 0), ('headline', 12), ('table', 31)]], {'label': 'Obsah'}), 79: ('wagtail.blocks.StructBlock', [[('name', 77), ('content', 78)]], {}), 80: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': False}), 81: ('wagtail.blocks.static_block.StaticBlock', (), {'admin_text': 'Adresa kalendáře se zadává v nastavenĂ hlavnĂ stránky webu', 'label': 'Volba kalendáře'}), 82: ('wagtail.blocks.StructBlock', [[('title', 80), ('info', 81)]], {}), 83: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Formulářová stránka', 'page_type': ['uniweb.UniwebFormPage']}), 84: ('wagtail.blocks.StructBlock', [[('page', 83)]], {})}, verbose_name='obsah stránky pĹ™ed formulářem'), + ), + migrations.AlterField( + model_name='uniwebformpage', + name='content_landing', + field=wagtail.fields.StreamField([('text', 0), ('advanced_text', 4), ('two_columns_text', 7), ('headline', 12), ('headline_with_picture', 15), ('picture_list', 19), ('flip_cards', 30), ('table', 31), ('popout_table', 32), ('gallery', 35), ('figure', 38), ('card', 63), ('two_columns', 73), ('three_columns', 75), ('youtube', 76), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70), ('popout_point', 79), ('calendar', 82), ('subpage_form', 84)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor', 'template': 'styleguide2/includes/atoms/text/prose_richtext.html'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('left', 'vlevo'), ('center', 'uprostĹ™ed'), ('right', 'vpravo')], 'label': 'zarovnánĂ'}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black_on_white', 'ÄŤerná na bĂlĂ©'), ('black_on_yellow', 'ÄŤerná na ĹľlutĂ©'), ('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'}), 3: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor'}), 4: ('wagtail.blocks.StructBlock', [[('align', 1), ('color', 2), ('text', 3)]], {}), 5: ('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'}), 6: ('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'}), 7: ('wagtail.blocks.StructBlock', [[('left_text', 5), ('right_text', 6)]], {}), 8: ('wagtail.blocks.CharBlock', (), {'label': 'Nadpis', 'max_length': 300, 'required': True}), 9: ('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'}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('head-alt-xl', 'VelkĂ˝, Bebas Neue - 6XL'), ('head-alt-lg', 'StĹ™ednĂ, Bebas Neue - 4XL'), ('head-alt-md', 'ZákladnĂ velikost - Roboto - MD'), ('head-alt-sm', 'MalĂ˝ - Roboto - SM'), ('head-alt-xs', 'Extra malĂ˝ - Roboto - XS')], 'help_text': 'Náhled si prohlĂ©dnÄ›te na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.', 'label': 'Velikost'}), 11: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('auto', 'Automaticky'), ('center', 'Na stĹ™ed')], 'label': 'ZarovnánĂ'}), 12: ('wagtail.blocks.StructBlock', [[('headline', 8), ('tag', 9), ('style', 10), ('align', 11)]], {}), 13: ('wagtail.blocks.CharBlock', (), {'label': 'nadpis'}), 14: ('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'}), 15: ('wagtail.blocks.StructBlock', [[('color', 2), ('title', 13), ('picture', 14)]], {}), 16: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'label': 'Odstavec'}), 17: ('wagtail.blocks.ListBlock', (16,), {'label': 'Odstavce'}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'RozmÄ›r 30x30px nebo vĂce (obrázek bude zmenšen na 30x30px)', 'label': 'Obrázek'}), 19: ('wagtail.blocks.StructBlock', [[('color', 2), ('items', 17), ('picture', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'default': 'FEC900', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva pozadĂ'}), 21: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje pozadĂ. Nelze vybrat obÄ› najednou.', 'label': 'Obrázek', 'required': False}), 22: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje obrázek. Nelze vybrat obÄ› najednou.', 'label': 'PozadĂ', 'required': False}), 23: ('wagtail.blocks.TextBlock', (), {'help_text': 'ĹádkovánĂ je manuálnĂ.', 'label': 'Nadpis'}), 24: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva textu'}), 25: ('wagtail.blocks.RichTextBlock', (), {'label': 'Obsah'}), 26: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud nenĂ vyplnÄ›n, tlaÄŤĂtko se neukáže.', 'label': 'Nadpis tlaÄŤĂtka', 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'label': 'Odkaz tlaÄŤĂtka', 'required': False}), 28: ('wagtail.blocks.StructBlock', [[('bg_color', 20), ('image', 21), ('background', 22), ('title', 23), ('title_color', 24), ('content', 25), ('button_text', 26), ('button_url', 27)]], {'label': 'Karta'}), 29: ('wagtail.blocks.ListBlock', (28,), {'label': 'Karty'}), 30: ('wagtail.blocks.StructBlock', [[('cards', 29)]], {}), 31: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'Tabulka', 'template': 'styleguide2/includes/atoms/table/table.html'}), 32: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'RozbalovacĂ tabulka', 'template': 'styleguide2/includes/atoms/table/popout_table.html'}), 33: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'obrázek', 'required': True}), 34: ('wagtail.blocks.ListBlock', (33,), {'group': '3. OstatnĂ', 'icon': 'image', 'label': 'Galerie'}), 35: ('wagtail.blocks.StructBlock', [[('gallery_items', 34)]], {'label': 'Galerie'}), 36: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': True}), 37: ('wagtail.blocks.TextBlock', (), {'label': 'Popisek', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('img', 36), ('caption', 37)]], {}), 39: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': False}), 40: ('wagtail.blocks.TextBlock', (), {'label': 'Titulek', 'required': False}), 41: ('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}), 42: ('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}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'NenĂ tĹ™eba vyplĹovat, bude automaticky naÄŤteno z odkazu.', 'label': 'ID videa (automatickĂ© pole)', 'required': False}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Pokud toto pole nenĂ zaškrtlĂ©, video bude užšà neĹľ text okolo.', 'label': 'ZabĂrá maximálnà šĂĹ™ku povolenou pro text?', 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Automaticky spustĂ video bez zvuku. Pozor, nÄ›kterĂ© prohlĂĹľeÄŤe blokujĂ i automatickĂ© pĹ™ehrávánĂ videĂ bez zvuku.', 'label': 'Spustit video automaticky?', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {}), 47: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 50.04075', 'label': 'ZemÄ›pisná šĂĹ™ka'}), 48: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 15.77659', 'label': 'ZemÄ›pisná dĂ©lka'}), 49: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva špendlĂku (HEX)'}), 50: ('wagtail.blocks.IntegerBlock', (), {'default': 15, 'label': 'VĂ˝chozĂ zoom', 'max_value': 18, 'min_value': 1}), 51: ('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'}), 52: ('wagtail.blocks.IntegerBlock', (), {'label': 'Výška v px', 'max_value': 1000, 'min_value': 100}), 53: ('wagtail.blocks.StructBlock', [[('lat', 47), ('lon', 48), ('hex_color', 49), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Ĺ pendlĂk na mapÄ›'}), 54: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': True}), 55: ('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}), 56: ('wagtail.blocks.URLBlock', (), {'label': 'Odkaz', 'required': False}), 57: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva (HEX)'}), 58: ('wagtail.blocks.StructBlock', [[('title', 54), ('description', 37), ('geojson', 55), ('image', 39), ('link', 56), ('hex_color', 57)]], {'required': True}), 59: ('wagtail.blocks.ListBlock', (58,), {'label': 'Součásti'}), 60: ('wagtail.blocks.StructBlock', [[('features', 59), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Mapová kolekce'}), 61: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60)]], {'label': 'Obsah', 'required': False}), 62: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Stránka', 'required': False}), 63: ('wagtail.blocks.StructBlock', [[('img', 39), ('headline', 40), ('content', 61), ('page', 62), ('link', 56)]], {}), 64: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'max_length': 128, 'required': True}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black', 'ÄŚerná'), ('white', 'BĂlá'), ('pirati-yellow', 'Ĺ˝lutá'), ('grey-125', 'SvÄ›tle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'VĂnová'), ('red-600', 'ÄŚervená')], 'label': 'Barva'}), 66: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': 'Pokud je zapnuto, tlaÄŤĂtko pĹ™i najetĂ kurzorem ukáže Ĺľlutou šipku.', 'label': 'Animovat na hover', 'required': False}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('normal', 'NormálnĂ'), ('large', 'Velká'), ('huge', 'MasivnĂ')], 'label': 'Velikost tlaÄŤĂtka'}), 68: ('wagtail.blocks.StructBlock', [[('title', 64), ('color', 65), ('hoveractive', 66), ('page', 62), ('link', 56), ('align', 11), ('size', 67)]], {}), 69: ('wagtail.blocks.ListBlock', (68,), {'label': 'TlaÄŤĂtka'}), 70: ('wagtail.blocks.StructBlock', [[('buttons', 69)]], {}), 71: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah levĂ©ho sloupce', 'required': True}), 72: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah pravĂ©ho sloupce', 'required': True}), 73: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('right_column_content', 72)]], {}), 74: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah prostĹ™ednĂho sloupce', 'required': True}), 75: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('middle_column_content', 74), ('right_column_content', 72)]], {}), 76: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {'label': 'YouTube video'}), 77: ('wagtail.blocks.CharBlock', (), {'label': 'Název', 'required': True}), 78: ('wagtail.blocks.StreamBlock', [[('text', 0), ('headline', 12), ('table', 31)]], {'label': 'Obsah'}), 79: ('wagtail.blocks.StructBlock', [[('name', 77), ('content', 78)]], {}), 80: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': False}), 81: ('wagtail.blocks.static_block.StaticBlock', (), {'admin_text': 'Adresa kalendáře se zadává v nastavenĂ hlavnĂ stránky webu', 'label': 'Volba kalendáře'}), 82: ('wagtail.blocks.StructBlock', [[('title', 80), ('info', 81)]], {}), 83: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Formulářová stránka', 'page_type': ['uniweb.UniwebFormPage']}), 84: ('wagtail.blocks.StructBlock', [[('page', 83)]], {})}, verbose_name='Obsah stránky zobrazenĂ© po odeslánĂ formuláře'), + ), + migrations.AlterField( + model_name='uniwebhomepage', + name='content', + field=wagtail.fields.StreamField([('text', 0), ('advanced_text', 4), ('two_columns_text', 7), ('headline', 12), ('headline_with_picture', 15), ('picture_list', 19), ('flip_cards', 30), ('table', 31), ('popout_table', 32), ('gallery', 35), ('figure', 38), ('card', 63), ('two_columns', 73), ('three_columns', 75), ('youtube', 76), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70), ('popout_point', 79), ('calendar', 82), ('subpage_form', 84), ('newsletter', 89), ('news_block', 92)], blank=True, block_lookup={0: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor', 'template': 'styleguide2/includes/atoms/text/prose_richtext.html'}), 1: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('left', 'vlevo'), ('center', 'uprostĹ™ed'), ('right', 'vpravo')], 'label': 'zarovnánĂ'}), 2: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black_on_white', 'ÄŤerná na bĂlĂ©'), ('black_on_yellow', 'ÄŤerná na ĹľlutĂ©'), ('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'}), 3: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'group': '1. Text', 'label': 'TextovĂ˝ editor'}), 4: ('wagtail.blocks.StructBlock', [[('align', 1), ('color', 2), ('text', 3)]], {}), 5: ('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'}), 6: ('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'}), 7: ('wagtail.blocks.StructBlock', [[('left_text', 5), ('right_text', 6)]], {}), 8: ('wagtail.blocks.CharBlock', (), {'label': 'Nadpis', 'max_length': 300, 'required': True}), 9: ('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'}), 10: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('head-alt-xl', 'VelkĂ˝, Bebas Neue - 6XL'), ('head-alt-lg', 'StĹ™ednĂ, Bebas Neue - 4XL'), ('head-alt-md', 'ZákladnĂ velikost - Roboto - MD'), ('head-alt-sm', 'MalĂ˝ - Roboto - SM'), ('head-alt-xs', 'Extra malĂ˝ - Roboto - XS')], 'help_text': 'Náhled si prohlĂ©dnÄ›te na https://styleguide2.pirati.cz/pattern/patterns/atoms/text/headings.html.', 'label': 'Velikost'}), 11: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('auto', 'Automaticky'), ('center', 'Na stĹ™ed')], 'label': 'ZarovnánĂ'}), 12: ('wagtail.blocks.StructBlock', [[('headline', 8), ('tag', 9), ('style', 10), ('align', 11)]], {}), 13: ('wagtail.blocks.CharBlock', (), {'label': 'nadpis'}), 14: ('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'}), 15: ('wagtail.blocks.StructBlock', [[('color', 2), ('title', 13), ('picture', 14)]], {}), 16: ('wagtail.blocks.RichTextBlock', (), {'features': ['h2', 'h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], 'label': 'Odstavec'}), 17: ('wagtail.blocks.ListBlock', (16,), {'label': 'Odstavce'}), 18: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'RozmÄ›r 30x30px nebo vĂce (obrázek bude zmenšen na 30x30px)', 'label': 'Obrázek'}), 19: ('wagtail.blocks.StructBlock', [[('color', 2), ('items', 17), ('picture', 18)]], {}), 20: ('wagtail.blocks.CharBlock', (), {'default': 'FEC900', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva pozadĂ'}), 21: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje pozadĂ. Nelze vybrat obÄ› najednou.', 'label': 'Obrázek', 'required': False}), 22: ('wagtail.images.blocks.ImageChooserBlock', (), {'help_text': 'Nahrazuje obrázek. Nelze vybrat obÄ› najednou.', 'label': 'PozadĂ', 'required': False}), 23: ('wagtail.blocks.TextBlock', (), {'help_text': 'ĹádkovánĂ je manuálnĂ.', 'label': 'Nadpis'}), 24: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': "KĂłd barvy lze vytvoĹ™it napĹ™. <a href='https://mdn.github.io/css-examples/tools/color-picker/' target='_blank'>zde</a>.", 'label': 'Barva textu'}), 25: ('wagtail.blocks.RichTextBlock', (), {'label': 'Obsah'}), 26: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud nenĂ vyplnÄ›n, tlaÄŤĂtko se neukáže.', 'label': 'Nadpis tlaÄŤĂtka', 'required': False}), 27: ('wagtail.blocks.CharBlock', (), {'label': 'Odkaz tlaÄŤĂtka', 'required': False}), 28: ('wagtail.blocks.StructBlock', [[('bg_color', 20), ('image', 21), ('background', 22), ('title', 23), ('title_color', 24), ('content', 25), ('button_text', 26), ('button_url', 27)]], {'label': 'Karta'}), 29: ('wagtail.blocks.ListBlock', (28,), {'label': 'Karty'}), 30: ('wagtail.blocks.StructBlock', [[('cards', 29)]], {}), 31: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'Tabulka', 'template': 'styleguide2/includes/atoms/table/table.html'}), 32: ('wagtail.contrib.table_block.blocks.TableBlock', (), {'group': '3. OstatnĂ', 'label': 'RozbalovacĂ tabulka', 'template': 'styleguide2/includes/atoms/table/popout_table.html'}), 33: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'obrázek', 'required': True}), 34: ('wagtail.blocks.ListBlock', (33,), {'group': '3. OstatnĂ', 'icon': 'image', 'label': 'Galerie'}), 35: ('wagtail.blocks.StructBlock', [[('gallery_items', 34)]], {'label': 'Galerie'}), 36: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': True}), 37: ('wagtail.blocks.TextBlock', (), {'label': 'Popisek', 'required': False}), 38: ('wagtail.blocks.StructBlock', [[('img', 36), ('caption', 37)]], {}), 39: ('wagtail.images.blocks.ImageChooserBlock', (), {'label': 'Obrázek', 'required': False}), 40: ('wagtail.blocks.TextBlock', (), {'label': 'Titulek', 'required': False}), 41: ('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}), 42: ('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}), 43: ('wagtail.blocks.CharBlock', (), {'help_text': 'NenĂ tĹ™eba vyplĹovat, bude automaticky naÄŤteno z odkazu.', 'label': 'ID videa (automatickĂ© pole)', 'required': False}), 44: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Pokud toto pole nenĂ zaškrtlĂ©, video bude užšà neĹľ text okolo.', 'label': 'ZabĂrá maximálnà šĂĹ™ku povolenou pro text?', 'required': False}), 45: ('wagtail.blocks.BooleanBlock', (), {'default': False, 'help_text': 'Automaticky spustĂ video bez zvuku. Pozor, nÄ›kterĂ© prohlĂĹľeÄŤe blokujĂ i automatickĂ© pĹ™ehrávánĂ videĂ bez zvuku.', 'label': 'Spustit video automaticky?', 'required': False}), 46: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {}), 47: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 50.04075', 'label': 'ZemÄ›pisná šĂĹ™ka'}), 48: ('wagtail.blocks.DecimalBlock', (), {'help_text': 'NapĹ™. 15.77659', 'label': 'ZemÄ›pisná dĂ©lka'}), 49: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva špendlĂku (HEX)'}), 50: ('wagtail.blocks.IntegerBlock', (), {'default': 15, 'label': 'VĂ˝chozĂ zoom', 'max_value': 18, 'min_value': 1}), 51: ('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'}), 52: ('wagtail.blocks.IntegerBlock', (), {'label': 'Výška v px', 'max_value': 1000, 'min_value': 100}), 53: ('wagtail.blocks.StructBlock', [[('lat', 47), ('lon', 48), ('hex_color', 49), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Ĺ pendlĂk na mapÄ›'}), 54: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': True}), 55: ('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}), 56: ('wagtail.blocks.URLBlock', (), {'label': 'Odkaz', 'required': False}), 57: ('wagtail.blocks.CharBlock', (), {'default': '000000', 'help_text': 'Zadejte barvu pomocĂ HEX notace (bez # na začátku).', 'label': 'Barva (HEX)'}), 58: ('wagtail.blocks.StructBlock', [[('title', 54), ('description', 37), ('geojson', 55), ('image', 39), ('link', 56), ('hex_color', 57)]], {'required': True}), 59: ('wagtail.blocks.ListBlock', (58,), {'label': 'Součásti'}), 60: ('wagtail.blocks.StructBlock', [[('features', 59), ('zoom', 50), ('style', 51), ('height', 52)]], {'label': 'Mapová kolekce'}), 61: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60)]], {'label': 'Obsah', 'required': False}), 62: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Stránka', 'required': False}), 63: ('wagtail.blocks.StructBlock', [[('img', 39), ('headline', 40), ('content', 61), ('page', 62), ('link', 56)]], {}), 64: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'max_length': 128, 'required': True}), 65: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('black', 'ÄŚerná'), ('white', 'BĂlá'), ('pirati-yellow', 'Ĺ˝lutá'), ('grey-125', 'SvÄ›tle šedá'), ('blue-300', 'Modrá'), ('cyan-200', 'Tyrkysová'), ('green-400', 'Zelená'), ('violet-400', 'VĂnová'), ('red-600', 'ÄŚervená')], 'label': 'Barva'}), 66: ('wagtail.blocks.BooleanBlock', (), {'default': True, 'help_text': 'Pokud je zapnuto, tlaÄŤĂtko pĹ™i najetĂ kurzorem ukáže Ĺľlutou šipku.', 'label': 'Animovat na hover', 'required': False}), 67: ('wagtail.blocks.ChoiceBlock', [], {'choices': [('normal', 'NormálnĂ'), ('large', 'Velká'), ('huge', 'MasivnĂ')], 'label': 'Velikost tlaÄŤĂtka'}), 68: ('wagtail.blocks.StructBlock', [[('title', 64), ('color', 65), ('hoveractive', 66), ('page', 62), ('link', 56), ('align', 11), ('size', 67)]], {}), 69: ('wagtail.blocks.ListBlock', (68,), {'label': 'TlaÄŤĂtka'}), 70: ('wagtail.blocks.StructBlock', [[('buttons', 69)]], {}), 71: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah levĂ©ho sloupce', 'required': True}), 72: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah pravĂ©ho sloupce', 'required': True}), 73: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('right_column_content', 72)]], {}), 74: ('wagtail.blocks.StreamBlock', [[('text', 3), ('table', 31), ('card', 63), ('figure', 38), ('youtube', 46), ('map_point', 53), ('map_collection', 60), ('button', 68), ('button_group', 70)]], {'label': 'Obsah prostĹ™ednĂho sloupce', 'required': True}), 75: ('wagtail.blocks.StructBlock', [[('left_column_content', 71), ('middle_column_content', 74), ('right_column_content', 72)]], {}), 76: ('wagtail.blocks.StructBlock', [[('poster_image', 41), ('video_url', 42), ('video_id', 43), ('is_full_width', 44), ('autoplay', 45)]], {'label': 'YouTube video'}), 77: ('wagtail.blocks.CharBlock', (), {'label': 'Název', 'required': True}), 78: ('wagtail.blocks.StreamBlock', [[('text', 0), ('headline', 12), ('table', 31)]], {'label': 'Obsah'}), 79: ('wagtail.blocks.StructBlock', [[('name', 77), ('content', 78)]], {}), 80: ('wagtail.blocks.CharBlock', (), {'label': 'Titulek', 'required': False}), 81: ('wagtail.blocks.static_block.StaticBlock', (), {'admin_text': 'Adresa kalendáře se zadává v nastavenĂ hlavnĂ stránky webu', 'label': 'Volba kalendáře'}), 82: ('wagtail.blocks.StructBlock', [[('title', 80), ('info', 81)]], {}), 83: ('wagtail.blocks.PageChooserBlock', (), {'label': 'Formulářová stránka', 'page_type': ['uniweb.UniwebFormPage']}), 84: ('wagtail.blocks.StructBlock', [[('page', 83)]], {}), 85: ('wagtail.blocks.CharBlock', (), {'help_text': 'Pokud toto pole zĹŻstane nevyplnÄ›nĂ©, pouĹľije se nastavenĂ tohoto webu. V takovĂ©m pĹ™ĂpadÄ› se mĹŻĹľe pĹ™idat i odbÄ›ratel do Ecomailu.', 'label': 'ID newsletteru v Mailtrainu', 'required': False}), 86: ('wagtail.blocks.CharBlock', (), {'default': 'OdebĂrej náš', 'label': 'Nadpis bloku (1. řádek)', 'required': True}), 87: ('wagtail.blocks.CharBlock', (), {'default': 'newsletter', 'label': 'Nadpis bloku (2. řádek)', 'required': True}), 88: ('wagtail.blocks.CharBlock', (), {'default': 'Fake news tam nenajdeš, ale dozvĂš se, co chystáme doopravdy!', 'label': 'Popis newsletteru', 'required': True}), 89: ('wagtail.blocks.StructBlock', [[('list_id', 85), ('title_line_1', 86), ('title_line_2', 87), ('description', 88)]], {}), 90: ('wagtail.blocks.CharBlock', (), {'help_text': 'NejnovÄ›jšà články se naÄŤtou automaticky', 'label': 'Titulek'}), 91: ('wagtail.blocks.TextBlock', (), {'label': 'Popis', 'required': False}), 92: ('wagtail.blocks.StructBlock', [[('title', 90), ('description', 91)]], {'group': '3. OstatnĂ', 'template': 'styleguide2/includes/organisms/articles/district/articles_section.html'})}, verbose_name='obsah stránky'), + ), + ] diff --git a/uniweb/migrations/0134_uniwebhomepage_fbevents_id.py b/uniweb/migrations/0134_uniwebhomepage_fbevents_id.py new file mode 100644 index 0000000000000000000000000000000000000000..42dc282f8af3d81877546f42ae2968ab5cee9bd2 --- /dev/null +++ b/uniweb/migrations/0134_uniwebhomepage_fbevents_id.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0.7 on 2025-03-25 16:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('uniweb', '0133_alter_uniwebflexiblepage_content_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='uniwebhomepage', + name='fbevents_id', + field=models.CharField(blank=True, max_length=64, null=True, verbose_name='InternĂ ID 1'), + ), + ] diff --git a/uniweb/models.py b/uniweb/models.py index 8fef561a345e8f72339ffac45f9fa8ed012872fd..0543746a5591fdace594b6c024f26bbde011803b 100644 --- a/uniweb/models.py +++ b/uniweb/models.py @@ -1,5 +1,6 @@ from captcha.fields import CaptchaField from django.db import models +from django.shortcuts import redirect from django.utils.translation import gettext_lazy from modelcluster.contrib.taggit import ClusterTaggableManager from modelcluster.fields import ParentalKey, ParentalManyToManyField @@ -31,7 +32,9 @@ from shared.const import RICH_TEXT_DEFAULT_FEATURES from shared.models import ( CalendarMixin, CustomLogoMixin, + EcomailNewsletterMixin, ExtendedMetadataPageMixin, + FbEventsMixin, MainArticlePageMixin, MainArticlesPageMixin, MainHomePageMixin, @@ -49,11 +52,12 @@ from shared.models import ( from shared_legacy.models import FooterMixin as LegacyFooterMixin from shared_legacy.utils import make_promote_panels -from .blocks import PeopleGroupBlock, TeamBlock +from .blocks import PeopleGroupBlock, TeamBlock, UniwebSubpageFormBlock from .forms import UniwebArticlesPageForm, UniwebHomePageAdminForm CONTENT_STREAM_BLOCKS = DEFAULT_CONTENT_BLOCKS + [ ("calendar", CalendarBlock()), + ("subpage_form", UniwebSubpageFormBlock()), ] @@ -71,6 +75,8 @@ class UniwebHomePage( PageInMenuMixin, ScrollProgressMixin, CustomLogoMixin, + EcomailNewsletterMixin, + FbEventsMixin, MainHomePageMixin, ): base_form_class = UniwebHomePageAdminForm @@ -153,20 +159,6 @@ class UniwebHomePage( ) content_is_centered = models.BooleanField("Vycentrovat obsah", default=False) - ecomail_newsletter_list_id = models.IntegerField( - "ID Ecomail newsletteru", - blank=True, - null=True, - ) - - ecomail_newsletter_list_tags = models.CharField( - "Tagy k pĹ™idánĂ novĂ˝m odbÄ›ratelĹŻm na Ecomailu", - max_length=128, - blank=True, - null=True, - help_text="OddÄ›lte čárkou, napĹ™Ăklad 'Tag1,Tag2,Tag3'. Bez mezer.", - ) - newsletter_list_id = models.CharField( "ID Mailtrain newsletteru", max_length=20, @@ -209,11 +201,13 @@ class UniwebHomePage( [ FieldPanel("ecomail_newsletter_list_id"), FieldPanel("ecomail_newsletter_list_tags"), + FieldPanel("ecomail_newsletter_list_source"), FieldPanel("newsletter_list_id"), ], "Newsletter", ), FieldPanel("fallback_image"), + FieldPanel("fbevents_id"), ] + ScrollProgressMixin.settings_panels menu_panels = ( @@ -493,6 +487,15 @@ class UniwebFormPage( use_json_field=True, ) + show_in_parent_page = models.BooleanField( + verbose_name="Ukazovat obsah formuláře v nadĹ™azenĂ© stránce?", + default=False, + help_text=( + "Pokud je toto pole zaškrtnutĂ©, formulář se pĹ™esune do nadĹ™azenĂ© stránky " + "a stránka jemu nadĹ™azená bude nedostupná." + ), + ) + ### PANELS content_panels = AbstractForm.content_panels + [ @@ -508,10 +511,13 @@ class UniwebFormPage( submissions_panels = [FormSubmissionsPanel()] + advanced_panels = [FieldPanel("show_in_parent_page")] + edit_handler = TabbedInterface( [ ObjectList(content_panels, heading=gettext_lazy("Content")), ObjectList(promote_panels, heading=gettext_lazy("Promote")), + ObjectList(advanced_panels, heading="PokroÄŤilĂ©"), ObjectList(submissions_panels, heading="Data z formuláře"), ] ) @@ -527,6 +533,12 @@ class UniwebFormPage( ### OTHERS + def serve(self, request): + if request.method == "GET" and self.show_in_parent_page: + return redirect(self.parent_page.url) + + return super().serve(request) + class Meta: verbose_name = "Formulářová stránka" diff --git a/uniweb/templates/uniweb/blocks/embedded_subpage_form.html b/uniweb/templates/uniweb/blocks/embedded_subpage_form.html new file mode 100644 index 0000000000000000000000000000000000000000..52fef5190994ce35b7546c84f5ca7360d6080a4e --- /dev/null +++ b/uniweb/templates/uniweb/blocks/embedded_subpage_form.html @@ -0,0 +1,79 @@ +{% load wagtailcore_tags %} + +{% if self.page.show_in_parent_page %} + <form + class=" + flex flex-col gap-8 + + {% if not self.page.root_page.content_is_full_width %} + max-w-[100ch] + {% else %} + max-w-[100%] + {% endif %} + + {% if self.page.root_page.content_is_centered %} + mx-auto + {% endif %} + " + action="{% pageurl self.page %}" + method="post" + > + {% csrf_token %} + + {% with self.page.get_form as form %} + + {% for hidden_field in form.hidden_fields %} + {{ hidden_field.errors }} + {{ hidden_field }} + {% endfor %} + + {% for field in form.visible_fields %} + <div class="flex flex-col gap-2"> + {% if field.widget_type == "select" %} + {% include "styleguide2/includes/atoms/form_fields/form_select.html" %} + {% elif field.widget_type == "radioselect" %} + {% include "styleguide2/includes/atoms/form_fields/form_radio.html" %} + {% elif field.widget_type == "selectmultiple" %} + {% include "styleguide2/includes/atoms/form_fields/form_multiselect.html" %} + {% elif field.widget_type == "text" %} + {% include "styleguide2/includes/atoms/form_fields/form_text.html" %} + {% elif field.widget_type == "textarea" %} + {% include "styleguide2/includes/atoms/form_fields/form_textarea.html" %} + {% elif field.widget_type == "email" %} + {% include "styleguide2/includes/atoms/form_fields/form_email.html" %} + {% elif field.widget_type == "number" %} + {% include "styleguide2/includes/atoms/form_fields/form_number.html" %} + {% elif field.widget_type == "url" %} + {% include "styleguide2/includes/atoms/form_fields/form_url.html" %} + {% elif field.widget_type == "checkbox" %} + {% include "styleguide2/includes/atoms/form_fields/form_checkbox.html" %} + {% elif field.widget_type == "checkboxselectmultiple" %} + {% include "styleguide2/includes/atoms/form_fields/form_checkbox_multiple.html" %} + {% elif field.widget_type == "date" %} + {% include "styleguide2/includes/atoms/form_fields/form_date.html" %} + {% elif field.widget_type == "datetime" %} + {% include "styleguide2/includes/atoms/form_fields/form_datetime.html" %} + {% elif field.widget_type == "captchatext" %} + {% include "styleguide2/includes/atoms/form_fields/form_captcha.html" %} + {% else %} + {{ field.widget_type }} + {% endif %} + + {% if field.help_text %} + <label + class="text-grey-250 text-sm" + for="{{ field.id_for_label }}" + >{{ field.help_text }}</label> + {% endif %} + + {% if field.errors %} + <div class="form-field__error">{{ field.errors }}</div> + {% endif %} + </div> + {% endfor %} + + {% endwith %} + + {% include "styleguide2/includes/atoms/buttons/round_button_form.html" with show_arrow_on_hover=True text="Odeslat" %} + </form> +{% endif %} \ No newline at end of file