From 99b1a61252ec721ea6aec46bbab8fdeb063f8a79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <tomas@imaniti.org> Date: Thu, 28 Mar 2024 14:38:50 +0100 Subject: [PATCH] add support for flip cards --- ..._alter_electionsfullprogrampage_content.py | 102 + main/blocks.py | 34 - .../0080_alter_mainprogrampage_program.py | 261 ++ main/models.py | 2 +- shared/blocks/main.py | 34 + uniweb/blocks.py | 2 + ...ter_uniwebflexiblepage_content_and_more.py | 3596 +++++++++++++++++ uniweb/models.py | 3 +- uniweb/templates/uniweb/base.html | 152 + 9 files changed, 4150 insertions(+), 36 deletions(-) create mode 100644 elections/migrations/0023_alter_electionsfullprogrampage_content.py create mode 100644 main/migrations/0080_alter_mainprogrampage_program.py create mode 100644 uniweb/migrations/0060_alter_uniwebflexiblepage_content_and_more.py diff --git a/elections/migrations/0023_alter_electionsfullprogrampage_content.py b/elections/migrations/0023_alter_electionsfullprogrampage_content.py new file mode 100644 index 00000000..9fde4d78 --- /dev/null +++ b/elections/migrations/0023_alter_electionsfullprogrampage_content.py @@ -0,0 +1,102 @@ +# Generated by Django 4.1.13 on 2024-03-28 12:48 + +import wagtail.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("elections", "0022_alter_electionshomepage_content_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="electionsfullprogrampage", + name="content", + field=wagtail.fields.StreamField( + [ + ("richtext", wagtail.blocks.RichTextBlock(label="Text")), + ( + "popout_block", + wagtail.blocks.StructBlock( + [ + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", required=False + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ) + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="Obsah", + ), + ), + ] diff --git a/main/blocks.py b/main/blocks.py index 969ecd84..ef5f376b 100644 --- a/main/blocks.py +++ b/main/blocks.py @@ -276,40 +276,6 @@ class TeamBlock(StructBlock): return value -class FlipCardBlock(StructBlock): - bg_color = CharBlock(label="Barva pozadí", default="FEC900") - - image = ImageChooserBlock(label="Obrázek", required=False) - - title = TextBlock(label="Nadpis", help_text="Řádkování je manuální.") - - content = RichTextBlock(label="Obsah") - - button_text = CharBlock( - label="Nadpis tlačítka", - help_text="Pokud není vyplněn, tlačítko se neukáže.", - required=False, - ) - button_url = CharBlock(label="Odkaz tlačítka", required=False) - - class Meta: - icon = "view" - label = "Obracecí karta" - template = "styleguide2/includes/molecules/boxes/flip_card_box.html" - - -class FlipCardsBlock(StructBlock): - cards = ListBlock( - FlipCardBlock(label="Karta"), - label="Karty", - ) - - class Meta: - icon = "group" - label = "Seznam obracecích karet" - template = "styleguide2/includes/organisms/cards/flip_card_list.html" - - class ElectionsProgramBlock(StructBlock): title = CharBlock(label="Titulek části programu") diff --git a/main/migrations/0080_alter_mainprogrampage_program.py b/main/migrations/0080_alter_mainprogrampage_program.py new file mode 100644 index 00000000..4f997cb9 --- /dev/null +++ b/main/migrations/0080_alter_mainprogrampage_program.py @@ -0,0 +1,261 @@ +# Generated by Django 4.1.13 on 2024-03-28 12:48 + +import wagtail.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("main", "0079_alter_mainprogrampage_program"), + ] + + operations = [ + migrations.AlterField( + model_name="mainprogrampage", + name="program", + field=wagtail.fields.StreamField( + [ + ( + "program_group", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "url", + wagtail.blocks.URLBlock( + label="Odkaz pokrývající celou tuto část", + required=False, + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek článku programu" + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé články programu", + ), + ), + ] + ), + ), + ( + "program_group_crossroad", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ] + ), + label="Karty programu", + ), + ), + ] + ), + ), + ( + "program_group_popout", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "categories", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "name", + wagtail.blocks.CharBlock( + label="Název" + ), + ), + ( + "icon", + wagtail.images.blocks.ImageChooserBlock( + label="Ikona", required=False + ), + ), + ( + "description", + wagtail.blocks.RichTextBlock( + label="Popis", required=False + ), + ), + ( + "point_list", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek vyskakovacího bloku" + ), + ), + ( + "content", + wagtail.blocks.RichTextBlock( + features=[ + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="Obsah", + ), + ), + ] + ), + label="Jednotlivé bloky programu", + ), + ), + ] + ), + label="Kategorie programu", + ), + ), + ] + ), + ), + ( + "elections_program", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek části programu" + ), + ), + ( + "program_page", + wagtail.blocks.PageChooserBlock( + label="Stránka", + page_type=[ + "elections.ElectionsFullProgramPage" + ], + required=False, + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="Program", + ), + ), + ] diff --git a/main/models.py b/main/models.py index 45af703e..aacfb08d 100644 --- a/main/models.py +++ b/main/models.py @@ -487,7 +487,7 @@ class MainResultsPage( content = StreamField( [ - (("flip_cards"), blocks.FlipCardsBlock()), + (("flip_cards"), shared_blocks.FlipCardsBlock()), ( "text", RichTextBlock( diff --git a/shared/blocks/main.py b/shared/blocks/main.py index 63b88184..a2668a3c 100644 --- a/shared/blocks/main.py +++ b/shared/blocks/main.py @@ -199,3 +199,37 @@ class ProgramGroupBlockPopout(StructBlock): class Meta: icon = "date" label = "Vyskakovací program" + + +class FlipCardBlock(StructBlock): + bg_color = CharBlock(label="Barva pozadí", default="FEC900") + + image = ImageChooserBlock(label="Obrázek", required=False) + + title = TextBlock(label="Nadpis", help_text="Řádkování je manuální.") + + content = RichTextBlock(label="Obsah") + + button_text = CharBlock( + label="Nadpis tlačítka", + help_text="Pokud není vyplněn, tlačítko se neukáže.", + required=False, + ) + button_url = CharBlock(label="Odkaz tlačítka", required=False) + + class Meta: + icon = "view" + label = "Obracecí karta" + template = "styleguide2/includes/molecules/boxes/flip_card_box.html" + + +class FlipCardsBlock(StructBlock): + cards = ListBlock( + FlipCardBlock(label="Karta"), + label="Karty", + ) + + class Meta: + icon = "group" + label = "Seznam obracecích karet" + template = "styleguide2/includes/organisms/cards/flip_card_list.html" diff --git a/uniweb/blocks.py b/uniweb/blocks.py index 8e656697..b2b34d3d 100644 --- a/uniweb/blocks.py +++ b/uniweb/blocks.py @@ -9,6 +9,8 @@ from wagtail.blocks import ( ) from wagtail.contrib.table_block.blocks import TableBlock as ContribTableBlock +from shared.blocks import CardLinkBlockMixin, CardLinkWithHeadlineBlockMixin + class AlignedTableBlock(StructBlock): alignment = ChoiceBlock( diff --git a/uniweb/migrations/0060_alter_uniwebflexiblepage_content_and_more.py b/uniweb/migrations/0060_alter_uniwebflexiblepage_content_and_more.py new file mode 100644 index 00000000..d62c08ec --- /dev/null +++ b/uniweb/migrations/0060_alter_uniwebflexiblepage_content_and_more.py @@ -0,0 +1,3596 @@ +# Generated by Django 4.1.13 on 2024-03-28 12:52 + +import wagtail.blocks +import wagtail.blocks.static_block +import wagtail.contrib.table_block.blocks +import wagtail.fields +import wagtail.images.blocks +from django.db import migrations + +import shared.blocks.base + + +class Migration(migrations.Migration): + dependencies = [ + ("uniweb", "0059_alter_uniwebflexiblepage_content_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="uniwebflexiblepage", + name="content", + field=wagtail.fields.StreamField( + [ + ( + "title", + wagtail.blocks.CharBlock( + group="nadpisy", + icon="title", + label="nadpis", + template="uniweb/blocks/title.html", + ), + ), + ( + "advanced_title", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ] + ), + ), + ( + "picture_title", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + group="texty", + label="text", + template="uniweb/blocks/text.html", + ), + ), + ( + "advanced_text", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="text", + ), + ), + ] + ), + ), + ( + "text_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "advanced_text_columns", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "gallery", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock(label="obrázek"), + group="ostatní", + icon="image", + label="galerie", + template="uniweb/blocks/gallery.html", + ), + ), + ( + "picture_list", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "items", + wagtail.blocks.ListBlock( + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="odstavec", + ), + label="odstavce", + ), + ), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "aligned_table", + wagtail.blocks.StructBlock( + [ + ( + "alignment", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "Vlevo"), + ("center", "Vprostřed"), + ("right", "Vpravo"), + ("full", "Celá šířka obrazovky"), + ], + label="Zarovnání", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + label="Tabulka" + ), + ), + ], + group="ostatní", + template="uniweb/blocks/aligned_table.html", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + group="ostatní", + label="Tabulka", + template="uniweb/blocks/table.html", + ), + ), + ( + "articles", + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="sekce článků", + page_type=["uniweb.UniwebArticlesIndexPage"], + ), + ), + ( + "lines", + wagtail.blocks.IntegerBlock( + default=1, + help_text="zobrazí se tři články na řádek", + label="počet řádků", + ), + ), + ] + ), + ), + ( + "calendar_agenda", + wagtail.blocks.StructBlock( + [ + ( + "info", + wagtail.blocks.static_block.StaticBlock( + admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", + label="volba kalendáře", + ), + ), + ( + "count", + wagtail.blocks.IntegerBlock( + default=10, label="maximum událostí k zobrazení" + ), + ), + ( + "event_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("future", "budoucí"), + ("past", "proběhlé"), + ], + label="druh událostí", + ), + ), + ] + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ("text", wagtail.blocks.CharBlock(label="Nadpis")), + ( + "url", + wagtail.blocks.URLBlock( + help_text="Pokud je odkaz vyplněný, není nutno vyplňovat stránku.", + label="Odkaz", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je stránka vyplněná, není nutno vyplňovat odkaz.", + label="Stránka", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="uniweb/blocks/chart.html", + ), + ), + ( + "cards", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Titulek bloku", required=False + ), + ), + ( + "card_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je vybrána stránka, není nutno zadávat odkaz.", + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ], + template="styleguide2/includes/molecules/boxes/card_box_block.html", + ), + label="Karty", + ), + ), + ] + ), + ), + ( + "newsletter", + wagtail.blocks.StructBlock( + [ + ( + "list_id", + wagtail.blocks.CharBlock( + label="ID newsletteru", required=True + ), + ), + ( + "description", + wagtail.blocks.CharBlock( + default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", + label="Popis newsletteru", + required=True, + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="obsah stránky", + ), + ), + migrations.AlterField( + model_name="uniwebformpage", + name="content_after", + field=wagtail.fields.StreamField( + [ + ( + "title", + wagtail.blocks.CharBlock( + group="nadpisy", + icon="title", + label="nadpis", + template="uniweb/blocks/title.html", + ), + ), + ( + "advanced_title", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ] + ), + ), + ( + "picture_title", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + group="texty", + label="text", + template="uniweb/blocks/text.html", + ), + ), + ( + "advanced_text", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="text", + ), + ), + ] + ), + ), + ( + "text_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "advanced_text_columns", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "gallery", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock(label="obrázek"), + group="ostatní", + icon="image", + label="galerie", + template="uniweb/blocks/gallery.html", + ), + ), + ( + "picture_list", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "items", + wagtail.blocks.ListBlock( + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="odstavec", + ), + label="odstavce", + ), + ), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "aligned_table", + wagtail.blocks.StructBlock( + [ + ( + "alignment", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "Vlevo"), + ("center", "Vprostřed"), + ("right", "Vpravo"), + ("full", "Celá šířka obrazovky"), + ], + label="Zarovnání", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + label="Tabulka" + ), + ), + ], + group="ostatní", + template="uniweb/blocks/aligned_table.html", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + group="ostatní", + label="Tabulka", + template="uniweb/blocks/table.html", + ), + ), + ( + "articles", + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="sekce článků", + page_type=["uniweb.UniwebArticlesIndexPage"], + ), + ), + ( + "lines", + wagtail.blocks.IntegerBlock( + default=1, + help_text="zobrazí se tři články na řádek", + label="počet řádků", + ), + ), + ] + ), + ), + ( + "calendar_agenda", + wagtail.blocks.StructBlock( + [ + ( + "info", + wagtail.blocks.static_block.StaticBlock( + admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", + label="volba kalendáře", + ), + ), + ( + "count", + wagtail.blocks.IntegerBlock( + default=10, label="maximum událostí k zobrazení" + ), + ), + ( + "event_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("future", "budoucí"), + ("past", "proběhlé"), + ], + label="druh událostí", + ), + ), + ] + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ("text", wagtail.blocks.CharBlock(label="Nadpis")), + ( + "url", + wagtail.blocks.URLBlock( + help_text="Pokud je odkaz vyplněný, není nutno vyplňovat stránku.", + label="Odkaz", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je stránka vyplněná, není nutno vyplňovat odkaz.", + label="Stránka", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="uniweb/blocks/chart.html", + ), + ), + ( + "cards", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Titulek bloku", required=False + ), + ), + ( + "card_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je vybrána stránka, není nutno zadávat odkaz.", + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ], + template="styleguide2/includes/molecules/boxes/card_box_block.html", + ), + label="Karty", + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="obsah stránky za formulářem", + ), + ), + migrations.AlterField( + model_name="uniwebformpage", + name="content_before", + field=wagtail.fields.StreamField( + [ + ( + "title", + wagtail.blocks.CharBlock( + group="nadpisy", + icon="title", + label="nadpis", + template="uniweb/blocks/title.html", + ), + ), + ( + "advanced_title", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ] + ), + ), + ( + "picture_title", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + group="texty", + label="text", + template="uniweb/blocks/text.html", + ), + ), + ( + "advanced_text", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="text", + ), + ), + ] + ), + ), + ( + "text_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "advanced_text_columns", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "gallery", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock(label="obrázek"), + group="ostatní", + icon="image", + label="galerie", + template="uniweb/blocks/gallery.html", + ), + ), + ( + "picture_list", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "items", + wagtail.blocks.ListBlock( + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="odstavec", + ), + label="odstavce", + ), + ), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "aligned_table", + wagtail.blocks.StructBlock( + [ + ( + "alignment", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "Vlevo"), + ("center", "Vprostřed"), + ("right", "Vpravo"), + ("full", "Celá šířka obrazovky"), + ], + label="Zarovnání", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + label="Tabulka" + ), + ), + ], + group="ostatní", + template="uniweb/blocks/aligned_table.html", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + group="ostatní", + label="Tabulka", + template="uniweb/blocks/table.html", + ), + ), + ( + "articles", + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="sekce článků", + page_type=["uniweb.UniwebArticlesIndexPage"], + ), + ), + ( + "lines", + wagtail.blocks.IntegerBlock( + default=1, + help_text="zobrazí se tři články na řádek", + label="počet řádků", + ), + ), + ] + ), + ), + ( + "calendar_agenda", + wagtail.blocks.StructBlock( + [ + ( + "info", + wagtail.blocks.static_block.StaticBlock( + admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", + label="volba kalendáře", + ), + ), + ( + "count", + wagtail.blocks.IntegerBlock( + default=10, label="maximum událostí k zobrazení" + ), + ), + ( + "event_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("future", "budoucí"), + ("past", "proběhlé"), + ], + label="druh událostí", + ), + ), + ] + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ("text", wagtail.blocks.CharBlock(label="Nadpis")), + ( + "url", + wagtail.blocks.URLBlock( + help_text="Pokud je odkaz vyplněný, není nutno vyplňovat stránku.", + label="Odkaz", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je stránka vyplněná, není nutno vyplňovat odkaz.", + label="Stránka", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="uniweb/blocks/chart.html", + ), + ), + ( + "cards", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Titulek bloku", required=False + ), + ), + ( + "card_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je vybrána stránka, není nutno zadávat odkaz.", + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ], + template="styleguide2/includes/molecules/boxes/card_box_block.html", + ), + label="Karty", + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="obsah stránky před formulářem", + ), + ), + migrations.AlterField( + model_name="uniwebformpage", + name="content_landing", + field=wagtail.fields.StreamField( + [ + ( + "title", + wagtail.blocks.CharBlock( + group="nadpisy", + icon="title", + label="nadpis", + template="uniweb/blocks/title.html", + ), + ), + ( + "advanced_title", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ] + ), + ), + ( + "picture_title", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + group="texty", + label="text", + template="uniweb/blocks/text.html", + ), + ), + ( + "advanced_text", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="text", + ), + ), + ] + ), + ), + ( + "text_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "advanced_text_columns", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "gallery", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock(label="obrázek"), + group="ostatní", + icon="image", + label="galerie", + template="uniweb/blocks/gallery.html", + ), + ), + ( + "picture_list", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "items", + wagtail.blocks.ListBlock( + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="odstavec", + ), + label="odstavce", + ), + ), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "aligned_table", + wagtail.blocks.StructBlock( + [ + ( + "alignment", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "Vlevo"), + ("center", "Vprostřed"), + ("right", "Vpravo"), + ("full", "Celá šířka obrazovky"), + ], + label="Zarovnání", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + label="Tabulka" + ), + ), + ], + group="ostatní", + template="uniweb/blocks/aligned_table.html", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + group="ostatní", + label="Tabulka", + template="uniweb/blocks/table.html", + ), + ), + ( + "articles", + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="sekce článků", + page_type=["uniweb.UniwebArticlesIndexPage"], + ), + ), + ( + "lines", + wagtail.blocks.IntegerBlock( + default=1, + help_text="zobrazí se tři články na řádek", + label="počet řádků", + ), + ), + ] + ), + ), + ( + "calendar_agenda", + wagtail.blocks.StructBlock( + [ + ( + "info", + wagtail.blocks.static_block.StaticBlock( + admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", + label="volba kalendáře", + ), + ), + ( + "count", + wagtail.blocks.IntegerBlock( + default=10, label="maximum událostí k zobrazení" + ), + ), + ( + "event_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("future", "budoucí"), + ("past", "proběhlé"), + ], + label="druh událostí", + ), + ), + ] + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ("text", wagtail.blocks.CharBlock(label="Nadpis")), + ( + "url", + wagtail.blocks.URLBlock( + help_text="Pokud je odkaz vyplněný, není nutno vyplňovat stránku.", + label="Odkaz", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je stránka vyplněná, není nutno vyplňovat odkaz.", + label="Stránka", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="uniweb/blocks/chart.html", + ), + ), + ( + "cards", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Titulek bloku", required=False + ), + ), + ( + "card_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je vybrána stránka, není nutno zadávat odkaz.", + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ], + template="styleguide2/includes/molecules/boxes/card_box_block.html", + ), + label="Karty", + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="obsah stránky zobrazené po odeslání formuláře", + ), + ), + migrations.AlterField( + model_name="uniwebhomepage", + name="content", + field=wagtail.fields.StreamField( + [ + ( + "title", + wagtail.blocks.CharBlock( + group="nadpisy", + icon="title", + label="nadpis", + template="uniweb/blocks/title.html", + ), + ), + ( + "advanced_title", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ] + ), + ), + ( + "picture_title", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ("title", wagtail.blocks.CharBlock(label="nadpis")), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr na výšku 75px nebo více (obrázek bude zmenšen na výšku 75px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + group="texty", + label="text", + template="uniweb/blocks/text.html", + ), + ), + ( + "advanced_text", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="text", + ), + ), + ] + ), + ), + ( + "text_columns", + wagtail.blocks.StructBlock( + [ + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "advanced_text_columns", + wagtail.blocks.StructBlock( + [ + ( + "align", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "vlevo"), + ("center", "uprostřed"), + ("right", "vpravo"), + ], + label="zarovnání", + ), + ), + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "left_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="levý sloupec", + ), + ), + ( + "right_text", + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="pravý sloupec", + ), + ), + ] + ), + ), + ( + "gallery", + wagtail.blocks.ListBlock( + wagtail.images.blocks.ImageChooserBlock(label="obrázek"), + group="ostatní", + icon="image", + label="galerie", + template="uniweb/blocks/gallery.html", + ), + ), + ( + "picture_list", + wagtail.blocks.StructBlock( + [ + ( + "color", + wagtail.blocks.ChoiceBlock( + choices=[ + ("black_on_white", "černá na bílé"), + ("white_on_black", "bílá na černé"), + ("white_on_blue", "bílá na modré"), + ("white_on_cyan", "bílá na tyrkysové"), + ("white_on_violet", "bílá na fialové"), + ], + label="barva", + ), + ), + ( + "items", + wagtail.blocks.ListBlock( + wagtail.blocks.RichTextBlock( + features=[ + "h2", + "h3", + "h4", + "h5", + "bold", + "italic", + "ol", + "ul", + "hr", + "link", + "document-link", + "image", + "superscript", + "subscript", + "strikethrough", + "blockquote", + "embed", + ], + label="odstavec", + ), + label="odstavce", + ), + ), + ( + "picture", + wagtail.images.blocks.ImageChooserBlock( + help_text="rozměr 25x25px nebo více (obrázek bude zmenšen na 25x25px)", + label="obrázek", + ), + ), + ] + ), + ), + ( + "aligned_table", + wagtail.blocks.StructBlock( + [ + ( + "alignment", + wagtail.blocks.ChoiceBlock( + choices=[ + ("left", "Vlevo"), + ("center", "Vprostřed"), + ("right", "Vpravo"), + ("full", "Celá šířka obrazovky"), + ], + label="Zarovnání", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + label="Tabulka" + ), + ), + ], + group="ostatní", + template="uniweb/blocks/aligned_table.html", + ), + ), + ( + "table", + wagtail.contrib.table_block.blocks.TableBlock( + group="ostatní", + label="Tabulka", + template="uniweb/blocks/table.html", + ), + ), + ( + "articles", + wagtail.blocks.StructBlock( + [ + ( + "page", + wagtail.blocks.PageChooserBlock( + label="sekce článků", + page_type=["uniweb.UniwebArticlesIndexPage"], + ), + ), + ( + "lines", + wagtail.blocks.IntegerBlock( + default=1, + help_text="zobrazí se tři články na řádek", + label="počet řádků", + ), + ), + ] + ), + ), + ( + "calendar_agenda", + wagtail.blocks.StructBlock( + [ + ( + "info", + wagtail.blocks.static_block.StaticBlock( + admin_text="adresa kalendáře se zadává v nastavení hlavní stránky webu", + label="volba kalendáře", + ), + ), + ( + "count", + wagtail.blocks.IntegerBlock( + default=10, label="maximum událostí k zobrazení" + ), + ), + ( + "event_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("future", "budoucí"), + ("past", "proběhlé"), + ], + label="druh událostí", + ), + ), + ] + ), + ), + ( + "button", + wagtail.blocks.StructBlock( + [ + ("text", wagtail.blocks.CharBlock(label="Nadpis")), + ( + "url", + wagtail.blocks.URLBlock( + help_text="Pokud je odkaz vyplněný, není nutno vyplňovat stránku.", + label="Odkaz", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je stránka vyplněná, není nutno vyplňovat odkaz.", + label="Stránka", + required=False, + ), + ), + ] + ), + ), + ( + "chart", + wagtail.blocks.StructBlock( + [ + ( + "title", + wagtail.blocks.CharBlock( + label="Název", max_length=120 + ), + ), + ( + "chart_type", + wagtail.blocks.ChoiceBlock( + choices=[ + ("bar", "Graf se sloupci"), + ( + "horizontalBar", + "Graf s vodorovnými sloupci", + ), + ("pie", "Koláčový graf"), + ("doughnut", "Donutový graf"), + ("polarArea", "Graf polární oblasti"), + ("radar", "Radarový graf"), + ("line", "Graf s liniemi"), + ], + label="Typ", + ), + ), + ( + "hide_points", + wagtail.blocks.BooleanBlock( + help_text="Mění vzhled pouze u linových grafů.", + label="Schovat body", + required=False, + ), + ), + ( + "local_labels", + wagtail.blocks.ListBlock( + wagtail.blocks.CharBlock( + label="Skupina", max_length=40 + ), + blank=True, + collapsed=True, + default=[], + label="Místně definované skupiny", + required=False, + ), + ), + ( + "local_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "label", + wagtail.blocks.CharBlock( + label="Označení zdroje dat", + max_length=120, + ), + ), + ( + "data", + wagtail.blocks.ListBlock( + wagtail.blocks.IntegerBlock(), + default=[0], + label="Data", + ), + ), + ] + ), + blank=True, + collapsed=True, + default=[], + label="Místní zdroje dat", + required=False, + ), + ), + ( + "redmine_issue_datasets", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "projects", + wagtail.blocks.MultipleChoiceBlock( + choices=shared.blocks.base.get_redmine_projects, + label="Projekty", + ), + ), + ( + "is_open", + wagtail.blocks.BooleanBlock( + label="Jen otevřené", + required=False, + ), + ), + ( + "is_closed", + wagtail.blocks.BooleanBlock( + label="Jen uzavřené", + required=False, + ), + ), + ( + "created_on_min_date", + wagtail.blocks.DateBlock( + label="Min. datum vytvoření", + required=True, + ), + ), + ( + "created_on_max_date", + wagtail.blocks.DateBlock( + label="Max. datum vytvoření", + required=True, + ), + ), + ( + "updated_on", + wagtail.blocks.CharBlock( + help_text="Např. <=2023-01-01. Více informací na pi2.cz/redmine-api", + label="Filtr pro datum aktualizace", + max_length=128, + required=False, + ), + ), + ( + "issue_label", + wagtail.blocks.CharBlock( + label="Označení úkolů uvnitř grafu", + max_length=128, + required=True, + ), + ), + ( + "split_per_project", + wagtail.blocks.BooleanBlock( + label="Rozdělit podle projektu", + required=False, + ), + ), + ( + "only_grow", + wagtail.blocks.BooleanBlock( + label="Pouze růst nahoru", + required=False, + ), + ), + ], + label="Redmine úkoly", + ), + blank=True, + default=[], + help_text="Úkoly, podle doby vytvoření. Pokud definuješ více zdrojů, datumy v nich musí být stejné.", + label="Zdroje dat z Redmine (úkoly)", + required=False, + ), + ), + ], + template="uniweb/blocks/chart.html", + ), + ), + ( + "cards", + wagtail.blocks.StructBlock( + [ + ( + "headline", + wagtail.blocks.CharBlock( + label="Titulek bloku", required=False + ), + ), + ( + "card_items", + wagtail.blocks.ListBlock( + wagtail.blocks.StructBlock( + [ + ( + "image", + wagtail.images.blocks.ImageChooserBlock( + label="Obrázek" + ), + ), + ( + "title", + wagtail.blocks.CharBlock( + label="Titulek", required=True + ), + ), + ( + "text", + wagtail.blocks.RichTextBlock( + label="Krátký text pod nadpisem", + required=False, + ), + ), + ( + "page", + wagtail.blocks.PageChooserBlock( + help_text="Pokud je vybrána stránka, není nutno zadávat odkaz.", + label="Stránka", + page_type=[ + "main.MainArticlesPage", + "main.MainArticlePage", + "main.MainProgramPage", + "main.MainPeoplePage", + "main.MainPersonPage", + "main.MainSimplePage", + "main.MainContactPage", + "main.MainCrossroadPage", + ], + required=False, + ), + ), + ( + "link", + wagtail.blocks.URLBlock( + label="Odkaz", required=False + ), + ), + ], + template="styleguide2/includes/molecules/boxes/card_box_block.html", + ), + label="Karty", + ), + ), + ] + ), + ), + ( + "newsletter", + wagtail.blocks.StructBlock( + [ + ( + "list_id", + wagtail.blocks.CharBlock( + label="ID newsletteru", required=True + ), + ), + ( + "description", + wagtail.blocks.CharBlock( + default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!", + label="Popis newsletteru", + required=True, + ), + ), + ] + ), + ), + ], + blank=True, + use_json_field=True, + verbose_name="obsah stránky", + ), + ), + ] diff --git a/uniweb/models.py b/uniweb/models.py index 77333736..1013f263 100644 --- a/uniweb/models.py +++ b/uniweb/models.py @@ -27,7 +27,7 @@ from wagtail.search import index from wagtailmetadata.models import MetadataPageMixin from calendar_utils.models import CalendarMixin -from shared.blocks import ChartBlock, NewsletterSubscriptionBlock +from shared.blocks import ChartBlock, FlipCardsBlock, NewsletterSubscriptionBlock from shared.const import RICH_TEXT_DEFAULT_FEATURES from shared.models import ( ArticleMixin, @@ -324,6 +324,7 @@ CONTENT_STREAM_BLOCKS = [ ("calendar_agenda", CalendarAgendaBlock()), ("button", ButtonBlock()), ("chart", ChartBlock(template="uniweb/blocks/chart.html")), + ("cards", FlipCardsBlock()), ] diff --git a/uniweb/templates/uniweb/base.html b/uniweb/templates/uniweb/base.html index 7e890a31..7e3e303e 100644 --- a/uniweb/templates/uniweb/base.html +++ b/uniweb/templates/uniweb/base.html @@ -19,10 +19,162 @@ <!-- Styles --> <link href="{{ styleguide_url }}/css/styles.css" rel="stylesheet" media="all" /> <link href="{{ styleguide_url }}/css/pattern-scaffolding.css" rel="stylesheet" media="all" /> + <link href="{% static "shared/vendor/fancybox/jquery.fancybox.min.css" %}" rel="stylesheet"> <link rel="stylesheet" href="{% static "shared/vendor/vue-formulate-2.5.3/css/snow.min.css" %}"> <link rel="stylesheet" href="{% static "shared/css/helpers.css" %}"> + <style type="text/css"> + + /* + CSS taken directly from a styleguide2 build. I don't really want + to take elements from the new styleguide and put them into the old + one, and this template won't be around for much longer given the + upcoming redesign. + + Creates supports for the flip cards seen for example in Nalodění. + */ + + .flip-card .prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){ + margin-top:.75rem; + margin-bottom:.75rem + } + .flip-card .prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){ + margin-top:.25rem; + margin-bottom:.25rem + } + .flip-card{ + height:33rem; + width:auto; + cursor:pointer; + perspective:1000px + } + .flip-card::after { + all: unset + } + .flip-card-inner{ + position:relative; + width:100%; + height:100%; + transition:transform .8s; + transform-style:preserve-3d + } + .flip-card:hover .flip-card-inner,.flip-card:focus .flip-card-inner{ + transform:rotateY(180deg) + } + .flip-card-front,.flip-card-back{ + position:absolute; + width:100%; + height:33rem; + backface-visibility:hidden + } + .flip-card-back{ + transform:rotateY(180deg) + } + .absolute{ + position: absolute + } + .relative{ + position: relative + } + .bottom-4{ + bottom: 1rem + } + .left-0{ + left: 0px + } + .left-10{ + left: 2.5rem + } + .right-4{ + right: 1rem + } + .top-0{ + top: 0px + } + .top-10{ + top: 2.5rem + } + .block{ + display: block + } + .grid{ + display: grid + } + .h-\[33rem\]{ + height: 33rem + } + .grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)) + } + .content-stretch{ + align-content: stretch + } + .gap-4{ + gap: 1rem + } + .overflow-hidden{ + overflow: hidden + } + .whitespace-pre-line{ + white-space: pre-line + } + .rounded-3xl{ + border-radius: 1.5rem + } + .border{ + border-width: 1px + } + .border-l-0{ + border-left-width: 0px + } + .border-r-\[27rem\]{ + border-right-width: 27rem + } + .border-t-\[33rem\]{ + border-top-width: 33rem + } + .border-r-\[transparent\]{ + border-right-color: transparent + } + .bg-cover{ + background-size: cover + } + .p-10{ + padding: 2.5rem + } + .text-right{ + text-align: right + } + .text-5xl{ + font-size: 3rem; + line-height: 1 + } + .leading-5{ + line-height: 1.25rem + } + .text-white{ + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)) + } + .opacity-75{ + opacity: 0.75 + } + @media (min-width: 768px){ + .md\:hidden{ + display: none + } + .md\:grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)) + } + } + @media (min-width: 1024px){ + .lg\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)) + } + } + </style> + <style type="text/css"> .head-alt-md, .head-alt-lg { line-height: 1.25; -- GitLab