From c6674a07facc72a4a71486febefeb7fe39385838 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Mon, 26 Aug 2024 15:53:19 +0200 Subject: [PATCH] =?UTF-8?q?Bloc=20"menu=20lat=C3=A9ral"=20(#195)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * First version of the sidemenu block * add block id * add page slug in the id for other side menus * Start work on pagetreeblock * Add page tree * Better translation --- ...entrypage_body_alter_blogindexpage_body.py | 2515 +++++++++++++++++ blog/templates/blog/blog_index_page.html | 4 +- content_manager/blocks.py | 41 + .../locale/fr/LC_MESSAGES/django.mo | Bin 18587 -> 19021 bytes .../locale/fr/LC_MESSAGES/django.po | 122 +- .../migrations/0041_alter_contentpage_body.py | 1264 +++++++++ .../content_manager/blocks/blocks_stream.html | 28 +- .../full_width_background_with_sidemenu.html | 31 + .../content_manager/blocks/pagetree.html | 33 + dashboard/locale/fr/LC_MESSAGES/django.mo | Bin 2428 -> 2428 bytes dashboard/locale/fr/LC_MESSAGES/django.po | 12 +- ...trypage_body_alter_eventsindexpage_body.py | 2515 +++++++++++++++++ .../templates/events/events_archive_page.html | 4 +- .../templates/events/events_index_page.html | 4 +- forms/locale/fr/LC_MESSAGES/django.mo | Bin 1581 -> 1581 bytes forms/locale/fr/LC_MESSAGES/django.po | 20 +- 16 files changed, 6512 insertions(+), 81 deletions(-) create mode 100644 blog/migrations/0031_alter_blogentrypage_body_alter_blogindexpage_body.py create mode 100644 content_manager/migrations/0041_alter_contentpage_body.py create mode 100644 content_manager/templates/content_manager/blocks/full_width_background_with_sidemenu.html create mode 100644 content_manager/templates/content_manager/blocks/pagetree.html create mode 100644 events/migrations/0005_alter_evententrypage_body_alter_eventsindexpage_body.py diff --git a/blog/migrations/0031_alter_blogentrypage_body_alter_blogindexpage_body.py b/blog/migrations/0031_alter_blogentrypage_body_alter_blogindexpage_body.py new file mode 100644 index 00000000..f6777f36 --- /dev/null +++ b/blog/migrations/0031_alter_blogentrypage_body_alter_blogindexpage_body.py @@ -0,0 +1,2515 @@ +# Generated by Django 5.0.8 on 2024-08-26 13:21 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("blog", "0030_alter_category_locale"), + ] + + operations = [ + migrations.AlterField( + model_name="blogentrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("video", 49), + ("transcription", 50), + ("badges_list", 55), + ("tags_list", 61), + ("link", 62), + ("card", 84), + ("tile", 94), + ("accordions", 97), + ("stepper", 103), + ("markdown", 104), + ("iframe", 109), + ("separator", 112), + ("multicolumns", 141), + ("fullwidthbackground", 143), + ("fullwidthbackgroundwithsidemenu", 150), + ("subpageslist", 151), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("html", 152), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 29: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 33: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 34: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 28), + ("text", 29), + ("button", 32), + ("color", 33), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 35: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 36: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 35), ("color", 33), ("size", 36)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 38: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 40: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 41: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 42: ( + "wagtail.blocks.StructBlock", + [[("image", 38), ("quote", 39), ("author_name", 40), ("author_title", 41), ("color", 33)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 43: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 44: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 45: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 46: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 47: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 48: ( + "wagtail.blocks.StructBlock", + [[("title", 46), ("content", 47)]], + {"label": "Transcription", "required": False}, + ), + 49: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 43), + ("caption", 7), + ("url", 44), + ("width", 5), + ("video_ratio", 45), + ("transcription", 48), + ] + ], + {"label": "Video"}, + ), + 50: ("wagtail.blocks.StructBlock", [[("title", 46), ("content", 47)]], {"label": "Transcription"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 52: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 54: ( + "wagtail.blocks.StructBlock", + [[("text", 51), ("color", 52), ("hide_icon", 53)]], + {"label": "Badge"}, + ), + 55: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {"label": "Badge list"}), + 56: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 57: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 58: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 60: ( + "wagtail.blocks.StructBlock", + [[("label", 56), ("is_small", 57), ("color", 58), ("icon_class", 28), ("link", 59)]], + {"label": "Tag"}, + ), + 61: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {"label": "Tag list"}), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StreamBlock", + [[("badge", 54)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 66: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 67: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 68: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 69: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 70: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {}), + 71: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {}), + 72: ( + "wagtail.blocks.StreamBlock", + [[("badges", 70), ("tags", 71)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 73: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 74: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 75: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 76: ("wagtail.blocks.StreamBlock", [[("link", 75)]], {}), + 77: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 78: ( + "wagtail.blocks.StreamBlock", + [[("button", 77)]], + { + "help_text": "Please use only one primary button. If you use icons, align them on the same side." + }, + ), + 79: ( + "wagtail.blocks.StreamBlock", + [[("links", 76), ("buttons", 78)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 80: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 81: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 82: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 83: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 84: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 63), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 73), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 85: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 86: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 87: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 88: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 93: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 94: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 85), + ("image", 86), + ("link", 65), + ("top_detail_badges_tags", 72), + ("detail_text", 87), + ("is_small", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ("is_horizontal", 93), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 95: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 96: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("content", 95)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 97: ( + "wagtail.blocks.StreamBlock", + [[("title", 56), ("accordion", 96)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 98: ("wagtail.blocks.IntegerBlock", (), {"label": "Number of steps"}), + 99: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step"}), + 100: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}), + 101: ("wagtail.blocks.StructBlock", [[("title", 56), ("detail", 100)]], {"label": "Step"}), + 102: ("wagtail.blocks.StreamBlock", [[("step", 101)]], {"label": "Steps"}), + 103: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("total", 98), ("current", 99), ("steps", 102)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 104: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 105: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 106: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 107: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 110: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 111: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 112: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 110), ("bottom_margin", 111)]], + {"group": "Page structure", "label": "Separator"}, + ), + 113: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 114: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 115: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 118: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 119: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 78)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 120: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 121: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.StructBlock", + [[("text", 118), ("cta_buttons", 119), ("cta_label", 120), ("cta_url", 121)]], + {"label": "Text and call to action"}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 124: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 125: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 126: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 129: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 130: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 131: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("blog", 125), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 133: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("index_page", 133), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 135: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 136: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 6), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 135), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 137: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ] + ], + {"label": "Column content"}, + ), + 139: ( + "wagtail.blocks.StructBlock", + [[("width", 137), ("content", 138)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 140: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ("column", 139), + ] + ], + {"label": "Columns"}, + ), + 141: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("bg_color", 115), + ("title", 1), + ("heading_tag", 116), + ("columns", 140), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 142: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Content"}, + ), + 143: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 113), ("bg_color_class", 114), ("content", 142)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 144: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Main content"}, + ), + 145: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 146: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 147: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 148: ("wagtail.blocks.StructBlock", [[("page", 147)]], {"label": "Page tree"}), + 149: ( + "wagtail.blocks.StreamBlock", + [[("html", 146), ("pagetree", 148)]], + {"label": "Side menu content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("main_content", 144), + ("sidemenu_title", 145), + ("sidemenu_content", 149), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 151: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 152: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="blogindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("video", 49), + ("transcription", 50), + ("badges_list", 55), + ("tags_list", 61), + ("link", 62), + ("card", 84), + ("tile", 94), + ("accordions", 97), + ("stepper", 103), + ("markdown", 104), + ("iframe", 109), + ("separator", 112), + ("multicolumns", 141), + ("fullwidthbackground", 143), + ("fullwidthbackgroundwithsidemenu", 150), + ("subpageslist", 151), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("html", 152), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 29: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 33: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 34: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 28), + ("text", 29), + ("button", 32), + ("color", 33), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 35: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 36: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 35), ("color", 33), ("size", 36)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 38: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 40: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 41: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 42: ( + "wagtail.blocks.StructBlock", + [[("image", 38), ("quote", 39), ("author_name", 40), ("author_title", 41), ("color", 33)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 43: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 44: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 45: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 46: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 47: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 48: ( + "wagtail.blocks.StructBlock", + [[("title", 46), ("content", 47)]], + {"label": "Transcription", "required": False}, + ), + 49: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 43), + ("caption", 7), + ("url", 44), + ("width", 5), + ("video_ratio", 45), + ("transcription", 48), + ] + ], + {"label": "Video"}, + ), + 50: ("wagtail.blocks.StructBlock", [[("title", 46), ("content", 47)]], {"label": "Transcription"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 52: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 54: ( + "wagtail.blocks.StructBlock", + [[("text", 51), ("color", 52), ("hide_icon", 53)]], + {"label": "Badge"}, + ), + 55: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {"label": "Badge list"}), + 56: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 57: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 58: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 60: ( + "wagtail.blocks.StructBlock", + [[("label", 56), ("is_small", 57), ("color", 58), ("icon_class", 28), ("link", 59)]], + {"label": "Tag"}, + ), + 61: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {"label": "Tag list"}), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StreamBlock", + [[("badge", 54)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 66: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 67: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 68: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 69: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 70: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {}), + 71: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {}), + 72: ( + "wagtail.blocks.StreamBlock", + [[("badges", 70), ("tags", 71)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 73: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 74: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 75: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 76: ("wagtail.blocks.StreamBlock", [[("link", 75)]], {}), + 77: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 78: ( + "wagtail.blocks.StreamBlock", + [[("button", 77)]], + { + "help_text": "Please use only one primary button. If you use icons, align them on the same side." + }, + ), + 79: ( + "wagtail.blocks.StreamBlock", + [[("links", 76), ("buttons", 78)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 80: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 81: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 82: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 83: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 84: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 63), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 73), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 85: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 86: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 87: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 88: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 93: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 94: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 85), + ("image", 86), + ("link", 65), + ("top_detail_badges_tags", 72), + ("detail_text", 87), + ("is_small", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ("is_horizontal", 93), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 95: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 96: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("content", 95)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 97: ( + "wagtail.blocks.StreamBlock", + [[("title", 56), ("accordion", 96)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 98: ("wagtail.blocks.IntegerBlock", (), {"label": "Number of steps"}), + 99: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step"}), + 100: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}), + 101: ("wagtail.blocks.StructBlock", [[("title", 56), ("detail", 100)]], {"label": "Step"}), + 102: ("wagtail.blocks.StreamBlock", [[("step", 101)]], {"label": "Steps"}), + 103: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("total", 98), ("current", 99), ("steps", 102)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 104: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 105: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 106: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 107: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 110: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 111: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 112: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 110), ("bottom_margin", 111)]], + {"group": "Page structure", "label": "Separator"}, + ), + 113: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 114: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 115: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 118: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 119: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 78)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 120: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 121: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.StructBlock", + [[("text", 118), ("cta_buttons", 119), ("cta_label", 120), ("cta_url", 121)]], + {"label": "Text and call to action"}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 124: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 125: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 126: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 129: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 130: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 131: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("blog", 125), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 133: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("index_page", 133), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 135: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 136: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 6), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 135), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 137: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ] + ], + {"label": "Column content"}, + ), + 139: ( + "wagtail.blocks.StructBlock", + [[("width", 137), ("content", 138)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 140: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ("column", 139), + ] + ], + {"label": "Columns"}, + ), + 141: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("bg_color", 115), + ("title", 1), + ("heading_tag", 116), + ("columns", 140), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 142: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Content"}, + ), + 143: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 113), ("bg_color_class", 114), ("content", 142)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 144: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Main content"}, + ), + 145: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 146: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 147: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 148: ("wagtail.blocks.StructBlock", [[("page", 147)]], {"label": "Page tree"}), + 149: ( + "wagtail.blocks.StreamBlock", + [[("html", 146), ("pagetree", 148)]], + {"label": "Side menu content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("main_content", 144), + ("sidemenu_title", 145), + ("sidemenu_content", 149), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 151: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 152: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + ] diff --git a/blog/templates/blog/blog_index_page.html b/blog/templates/blog/blog_index_page.html index 467f798c..30443a27 100644 --- a/blog/templates/blog/blog_index_page.html +++ b/blog/templates/blog/blog_index_page.html @@ -67,9 +67,9 @@

-
+
{% translate "Filters" %}
{% if categories and page.filter_by_category %}
diff --git a/content_manager/blocks.py b/content_manager/blocks.py index 3145a5b9..7c848dc4 100644 --- a/content_manager/blocks.py +++ b/content_manager/blocks.py @@ -944,6 +944,41 @@ class Meta: template = "content_manager/blocks/full_width_background.html" +class PageTreeBlock(blocks.StructBlock): + page = blocks.PageChooserBlock(label=_("Parent page")) + + class Meta: + icon = "minus" + template = "content_manager/blocks/pagetree.html" + + +class SideMenuBlock(blocks.StreamBlock): + html = blocks.RawHTMLBlock( + label="HTML", + help_text=_("Warning: Use HTML block with caution. Malicious code can compromise the security of the site."), + ) + pagetree = PageTreeBlock(label=_("Page tree")) + + class Meta: + icon = "minus" + + +class FullWidthBackgroundWithSidemenuBlock(blocks.StructBlock): + bg_image = ImageChooserBlock(label=_("Background image"), required=False) + bg_color_class = BackgroundColorChoiceBlock( + label=_("Background color"), + required=False, + help_text=_("Uses the French Design System colors"), + ) + main_content = FullWidthBlock(label=_("Main content")) + sidemenu_title = blocks.CharBlock(label=_("Side menu title"), required=False) + sidemenu_content = SideMenuBlock(label=_("Side menu content")) + + class Meta: + icon = "minus" + template = "content_manager/blocks/full_width_background_with_sidemenu.html" + + STREAMFIELD_COMMON_BLOCKS = [ ("paragraph", blocks.RichTextBlock(label=_("Rich text"))), ("image", ImageBlock()), @@ -966,6 +1001,12 @@ class Meta: ("separator", SeparatorBlock(label=_("Separator"), group=_("Page structure"))), ("multicolumns", MultiColumnsWithTitleBlock(label=_("Multiple columns"), group=_("Page structure"))), ("fullwidthbackground", FullWidthBackgroundBlock(label=_("Full width background"), group=_("Page structure"))), + ( + "fullwidthbackgroundwithsidemenu", + FullWidthBackgroundWithSidemenuBlock( + label=_("Full width background with side menu"), group=_("Page structure") + ), + ), ( "subpageslist", blocks.StaticBlock( diff --git a/content_manager/locale/fr/LC_MESSAGES/django.mo b/content_manager/locale/fr/LC_MESSAGES/django.mo index d60706a8c391bb39c99efea7b8d64bd815adbd34..22b9b13cc8cc75015b3272abf5562c6176ccce93 100644 GIT binary patch delta 5921 zcmZA430zfG0>|<5L{ceCL@-74qNpftfDot|YA#forkS~<2v2!Qfbg&d?P)bxqhl&q zxiXd0xQ*I8*GAJ)%yLXCH7BzfE5|*xro}0%-~Zji=QGp&_N7mT-Cag<+7e?b= zTR)ENsh_mx!*6lFZ-$YyZ#q*@13mEu9BAu9unG0i=wLDG#`CQ!k-?a4SPu`O2J*43 zpT)-1uV6C_^ z_gD|(&741pYWNarpyAEkfkt6KCvKsj4kV%)?u=?U4dbydYKBrqnEJ_euwHv^Eh`2Q{$L__LI4d6Nxw+HNr>j4`!m)bPno9^HB}Ii0a@< z)E)?0cUs@EeqcR;>diZqY00L$o1+B>m)D6Bu-S9_SZ;;^5P%I{M zzCEhv!!Zm;p*lJiSynR{wM0+Z`V!O&X$xv^?MJnDICMT>%oh~2Cf}ku;A!pF8=@|3 zj+&WHsNLHOSq(D+wW~`}H+%ur@ztmfZbhyA4%CPbpsqh^>z6R}{C`hD9jL?I?!|_v zhI3IpE<>$Z1?on#Y<-TcFF-Z46xD$>sQYcR-|s~Y?0w{)Il+f!>K6>Cp*VJmM%Wpd z1alke2IEm9n}XUCPoQqJ5JRtEtV?|js)HL)9o&riei!Qg@1gGVDQ4njtcyu)S$~bN zb6fWY>8KI(M4ivE^e#|-t)zjsu8?8b;PU}$@)?k9in1eWo`sL32_X1{iaj&aF zHCTTb4fsD}HYmf{}N zjYgxEpa9j;5^RjKQ8!+K>iDau-)%?D$XnJAP_&C;BU?Xj>(^0B)TBG}uPIDmi!%vkFlvee z7>)CgC)2!wy5L<@$Bv=a^bD$l7f}sKZ)9Wi%|ou4%jc&qef7J zy1{Ye&w{yx>R6*&`BRIDI2XrYBA!M5nMhs^n)?2z`wYWa%*QEMf&K6dYUz@*+`k2Z zyC~ekiDFdGo<;R|9%_mgp{9HZHpR8Jz6Z72kKiP{iVlwASx&;oP=6&~LCxT9)QCSs zE!ipLl7Kl+K@BGMbk{5yn^Dg|b!;fA13v5HsHK^My5Um19oL|C_j%Or{|Yq&-yttc z6WPn{SSEI(o{O=1{uffvjaG+F@VsIR>W5GbT|{-@CtHua&0Ugs)KsTn8@$6>fSst% z#W>uKy3bM6jGjg<@p+7)ee(+itw{{;OFi%DsI|;S?fSd12p_ZL)NYwp{F`%AQP)Nr4*cEr6es~deVR*K?mMu^h_P`h%fckzc zY9`81FREuy9jQX?simktMlYiVv=(*Uwru8KYki0l+QsKk7bf&^N0@|K%M?^cvuu3` zYEz9wjkEx@gk`7>Jc;V)d{o2BPz}C@8rV*J6OZ)?xPPS<_2o6oi6f|vB=W4x#IZO9 zPvRuZxx*dNMpTEkU_2f`-S`}8ChGKee;0$(sK;RfE<_D@6YBTx2Po)9XHY%=3AJe= z2DrPq9crW?6E@+I$H)?#!m3HghJbqk$Y- z7>nvaG5T=^>W5#WIuLfJyLK_CC25U%A9TbB?2EK-+7ca~yO=+rI;=x8@cU57m_j_L z=U>xsFIix}5Gl5tg_?~uT9hsbY_x%R|Dt46D%m`qTCW37w%8IO>2WS>1Jh7r9>x{%&Phh|xiGb^L< z^IyB9GtoNfI7yx+TAv?@j&Pz!r}p@vwt$&LOZG?dD)}d=A*0D6qGL1BTkk6pBv;9& zB+!SC+G7=k<3t;ajcm4&yGiXal)^KFJr+7L`237~LF$Cg81p=SPyRs8lO3cx`It;3 zI`)#wLiW`k9aVSO^f)GM40%r9{Ub@*J5= zPLs0G{8QLM(uj^TWEc64%p-aVCXsPOkJNVZ6VXxNVydi;_3t=~yg`-`E%Oj^og|Sb zNErFIzPLtm$z$XcNhJS!_^7NS@#H~rfjmicyzXMYwu&2UIomoN>ynpkeIx#ZY$c)h z|Kk*1Bs%(&dgO{K9B;XVKA+|DueN@x)#Ks+ekeahV#xbs6ZwGfN-!&kj(f;_GM+p{ zmXo_QG3zPls3ucGCHLcR@C`X&&$YLf;ze5)-;z(r338Z3klN#@EmYt@@-F!c8BRKo zj#`-26mBO`M8}6NW;gb=%mG#FDdQ4$*OmG$XH(o#f9%#~2b#dXbNaj`v7c zG9#Ohe~}l+O!79-(SWojkCHazJ~EQrPezdkh>qmo^(JqICk`ktEOZ|6<@*bqiMe@G zCYKhM7v*z;dYLcZ>pbi&Di6NVyv7sh_zQexPMJ5)?<+2i^whI7fwm;WN$FOb+o62ZtB!tIJ~wQ z$M5qOdV?L?9Isz5!%0c+k(L>3&}nwP%IRs*(N69(Z(gW3PGPQp&+5|L!r=31gX%=z zky}*etQJ$}aYf7`agvInJomgDz zEz9#3<#`aRC=tk)t>7kh{N^8at#jPNl!=eMVWzTT-3zXG5D BqqG13 delta 5510 zcmZA333Sa@0>|WG>*RVG2`caN8u?FpK zn2H0i8qUY+#(2##Dz&&!gl%w#ZJ)MmkXy|gsON0NF#0!ps8q!R$dZ`jsF{~zIG(rHuc11+hkD?DZ99sF?u)S|Sv#S2 zu@9=_EYw6Np(dJ(UR_u~MFS{6b-V`EaWO_?32Ki|p!V_+s>6_m&Ws~bGi_?yolxKF zkLqYB#$yg@Ad662w!R_j&v`NLaX~ZNZ$CJO+RHCc4>*hJ@N3k-uAvU$1FLa6?J#Sk zH3l`1=BNR7M6F1F`+2sT_1A?__JirDju)dwxD++OLeyUGM0H$-{qPiOfOU9vw5JVG zE7%$}(DtY^(F?WG&sj&>>l3|HlKEgB&cqUIfw8Q+-i86F8|R`9;}UBzzCim!Y=<>s zj7h+B>uBV7m}RH|ZADFNr?nI{aj%bxMt%%6;|kP_ui$WeXxq;=HirMqIR0o!-$boM z5$f!0MxBuo)QWs#Kfi(+_)XLnxMH2Hj6|N}HBIb=HmIfQhDkUGHR408-(ckv6M^yBMbkvdzL7mcVXGPD{uxiz>BE8zJj{%4r*mWp43NrN$%B-Hl@p$49f+Ukj@`xc;AOS+tjX0i@7fQ_gD zZAE?l0czwQqaJh$JK;steNhR{jNGXE<52@{VXu2^I}HQ5J_z;v%mnsdhi3#Ag76ho zdmL&hr&*Wb4%%BV9S1fwCIt&H84uw&yn(M`Rx_TZ>llRbiO#^ABfnjyE9&`KiLAet zWD*yGaUm|mJmj~YDM~@W|)b3TV6uVY$j@@a#7FCx9v^Xp7tKp%3Z~; zu(7uV?=Y47$mGoSmd=AuqXu*VwN&4s_VT**K8DbC@v6Ltp{S0>T5~asc0TGkYf*2@ z2Go5%Y~o`7_fzS|g^R4?2yE8Mxp5IzqrDt^;M>;osE+EjcHZk2s58+6yI>~j^8(Zg zyn}kHK0^II9K{-V7a5q>xY{^N9D?C|P#<+eBI=ZSP&f2O?d1^E9u7s#Y$|f_&1}>! z-g?wbeWb|q6fnP;+7|_nSFC1&pjzT>*5w!wstse9?=0XoDshET6=q=QPwqOL7qL%cC zZJ)R88>lS`;AX90O=JwFD{6@+VI6!O^}Us-0c}KWWofE?|9xDD;KBja5}!dW*$>v+ z*2mUh-X(or3pHRj*1;syN~GEABd|8@3D$Y26rq>E3FGk>)M1O`*F*#AiW+E7)YA4tE%hL*hdH)A3w5~ja1464QHiBetuz0d zgvqGWoQ0aes(M%yk$osC1N6)s1u;E#UU z|IlvEKO(Kr%?HC#51NHq$|a~h%|~s)yQrC$p|;Kfmx`n@}dToXWJW4uh}-#%=V$S z=m=^6U!n$j3DxmWsQ&JyvHzNJwRH9e6Ogf(@9`Oo>*)++8ZMw+f)g+)!#TZ0s2Tl& z8c-0gidLop>bV}&N(@GQZxqhLao7Ye_wqV34(RRN&F}aGo6E4 zsb$y@w;|6ohp{gP_TklaaX%iWoy$dj0!-(poU=66`j^4sF4;~OHczih%@js z>U-(^oB?E_wr&)L;1tw*J_of0E0O;F2l*SUESym@oh%@ih<71>enWV^`IzL9f0JfJ zWh>E^sC-18C0c>jM5q1)SwU0=lHp`L`4vedDm}>(GLL9dSBc7C`u8vE3pB=&i{#Jb z0m&g1WDViGnDb-{`8}yD52;)yrDPguLA3Aph)P=rvl8_i@MPITV=evr%S`?*cBu1)Jc!j)e+d3aA2OZ4c@C@lreogeqx#SqhCVwEyNORJTRF)Vj9rWd{B$Iqf^2trI zn^cwoRCLIaiT@1P4>sT}@-BIgsQiw^l7A7EugNa*9LXZjlc8i7Sw*~M{85=tI+5FI z*mA@=0^cGj_mwh-@Sc$QTk& zRCVd=^0~k1{7HaMo@h6v{txm! zd5Lr+;Y4LDnL-AsL77S-$Q(5&Z;}9VTn)-;2mim8sxGShiHfoxh%TfRIYn*|fAOuU zdnnj9$Nj0R@OHG@H#RyT&^IeKJD@NlHnQ+mT$Hb7d~KI6BcZ%%NNQ|K$1W)zpSx9F ni0@?krveH`cslxqd&UI%%Dc1*EUeqZ{% include_block block %}
- {% elif block.block_type == 'image' %} + {% elif block.block_type == "image" %}
{% include_block block %}
- {% elif block.block_type == 'multicolumns' %} + {% elif block.block_type == "multicolumns" %} {% include_block block %} - {% elif block.block_type == 'fullwidthbackground' %} + {% elif block.block_type == "fullwidthbackground" %} {% include_block block %} - {% elif block.block_type == 'paragraph' %} + {% elif block.block_type == "fullwidthbackgroundwithsidemenu" %} + {% include_block block %} + {% elif block.block_type == "paragraph" %}
{{ block.value|richtext }}
- {% elif block.block_type == 'alert' %} + {% elif block.block_type == "alert" %}
{% include_block block %}
- {% elif block.block_type == 'card' %} + {% elif block.block_type == "card" %}
{% include_block block %}
- {% elif block.block_type == 'tile' %} + {% elif block.block_type == "tile" %}
{% include_block block %}
- {% elif block.block_type == 'accordions' %} + {% elif block.block_type == "accordions" %} {% include "content_manager/blocks/accordions.html" with accordions_id=forloop.counter0|lower %} - {% elif block.block_type == 'stepper' %} + {% elif block.block_type == "stepper" %} {% include "content_manager/blocks/stepper.html" %} - {% elif block.block_type == 'separator' %} + {% elif block.block_type == "separator" %}

- {% elif block.block_type == 'markdown' %} + {% elif block.block_type == "markdown" %}
{{ block.value|markdown }}
- {% elif block.block_type == 'html' %} + {% elif block.block_type == "html" %}
{{ block.value|safe }}
{% else %}
{% include_block block %}
diff --git a/content_manager/templates/content_manager/blocks/full_width_background_with_sidemenu.html b/content_manager/templates/content_manager/blocks/full_width_background_with_sidemenu.html new file mode 100644 index 00000000..3b179b96 --- /dev/null +++ b/content_manager/templates/content_manager/blocks/full_width_background_with_sidemenu.html @@ -0,0 +1,31 @@ +{% load i18n dsfr_tags wagtailcore_tags wagtailimages_tags %} +{% image value.bg_image original as bg_img %} +
+
+
+
+ +
+
+ {% include "content_manager/blocks/blocks_stream.html" with stream=value.main_content %} +
+
+
+
diff --git a/content_manager/templates/content_manager/blocks/pagetree.html b/content_manager/templates/content_manager/blocks/pagetree.html new file mode 100644 index 00000000..84c22253 --- /dev/null +++ b/content_manager/templates/content_manager/blocks/pagetree.html @@ -0,0 +1,33 @@ + diff --git a/dashboard/locale/fr/LC_MESSAGES/django.mo b/dashboard/locale/fr/LC_MESSAGES/django.mo index 49c3ebde4cf46e0566dd1af55ca8a1ce6b16376e..d821aba974f407a0b30b1adbe5696738fe88869a 100644 GIT binary patch delta 23 ecmew(^hapJR~9Y{T_ZCELsKgw!_EI$YFPkkSqJw3 delta 23 ecmew(^hapJR~9ZaT_Y0(LsKgwv(5imYFPkkK?nE% diff --git a/dashboard/locale/fr/LC_MESSAGES/django.po b/dashboard/locale/fr/LC_MESSAGES/django.po index 0f49e2e3..363254d8 100644 --- a/dashboard/locale/fr/LC_MESSAGES/django.po +++ b/dashboard/locale/fr/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-24 15:24+0200\n" -"PO-Revision-Date: 2024-06-24 15:26+0200\n" +"POT-Creation-Date: 2024-08-26 15:14+0200\n" +"PO-Revision-Date: 2024-08-26 15:21+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -31,16 +31,16 @@ msgstr "Connexion" msgid "Set your new password" msgstr "Définissez votre nouveau mot de passe" -#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:20 +#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:21 #: dashboard/templates/wagtailadmin/account/password_reset/form.html:18 msgid "Reset password" msgstr "Réinitialiser le mot de passe" -#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:28 +#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:29 msgid "Invalid password reset link" msgstr "Lien de réinitialisation de mot de passe invalide" -#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:30 +#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:31 msgid "" "The password reset link was invalid, possibly because it has already been " "used." @@ -48,7 +48,7 @@ msgstr "" "Le lien de réinitialisation de mot de passe était invalide, probablement " "parce qu’il a déjà été utilisé." -#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:34 +#: dashboard/templates/wagtailadmin/account/password_reset/confirm.html:35 msgid "Request a new password reset" msgstr "Demander une nouvelle réinitialisation de mot de passe" diff --git a/events/migrations/0005_alter_evententrypage_body_alter_eventsindexpage_body.py b/events/migrations/0005_alter_evententrypage_body_alter_eventsindexpage_body.py new file mode 100644 index 00000000..84ae9086 --- /dev/null +++ b/events/migrations/0005_alter_evententrypage_body_alter_eventsindexpage_body.py @@ -0,0 +1,2515 @@ +# Generated by Django 5.0.8 on 2024-08-26 13:21 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("events", "0004_alter_evententrypage_body_alter_eventsindexpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="evententrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("video", 49), + ("transcription", 50), + ("badges_list", 55), + ("tags_list", 61), + ("link", 62), + ("card", 84), + ("tile", 94), + ("accordions", 97), + ("stepper", 103), + ("markdown", 104), + ("iframe", 109), + ("separator", 112), + ("multicolumns", 141), + ("fullwidthbackground", 143), + ("fullwidthbackgroundwithsidemenu", 150), + ("subpageslist", 151), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("html", 152), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 29: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 33: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 34: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 28), + ("text", 29), + ("button", 32), + ("color", 33), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 35: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 36: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 35), ("color", 33), ("size", 36)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 38: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 40: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 41: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 42: ( + "wagtail.blocks.StructBlock", + [[("image", 38), ("quote", 39), ("author_name", 40), ("author_title", 41), ("color", 33)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 43: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 44: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 45: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 46: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 47: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 48: ( + "wagtail.blocks.StructBlock", + [[("title", 46), ("content", 47)]], + {"label": "Transcription", "required": False}, + ), + 49: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 43), + ("caption", 7), + ("url", 44), + ("width", 5), + ("video_ratio", 45), + ("transcription", 48), + ] + ], + {"label": "Video"}, + ), + 50: ("wagtail.blocks.StructBlock", [[("title", 46), ("content", 47)]], {"label": "Transcription"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 52: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 54: ( + "wagtail.blocks.StructBlock", + [[("text", 51), ("color", 52), ("hide_icon", 53)]], + {"label": "Badge"}, + ), + 55: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {"label": "Badge list"}), + 56: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 57: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 58: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 60: ( + "wagtail.blocks.StructBlock", + [[("label", 56), ("is_small", 57), ("color", 58), ("icon_class", 28), ("link", 59)]], + {"label": "Tag"}, + ), + 61: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {"label": "Tag list"}), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StreamBlock", + [[("badge", 54)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 66: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 67: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 68: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 69: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 70: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {}), + 71: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {}), + 72: ( + "wagtail.blocks.StreamBlock", + [[("badges", 70), ("tags", 71)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 73: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 74: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 75: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 76: ("wagtail.blocks.StreamBlock", [[("link", 75)]], {}), + 77: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 78: ( + "wagtail.blocks.StreamBlock", + [[("button", 77)]], + { + "help_text": "Please use only one primary button. If you use icons, align them on the same side." + }, + ), + 79: ( + "wagtail.blocks.StreamBlock", + [[("links", 76), ("buttons", 78)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 80: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 81: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 82: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 83: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 84: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 63), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 73), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 85: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 86: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 87: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 88: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 93: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 94: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 85), + ("image", 86), + ("link", 65), + ("top_detail_badges_tags", 72), + ("detail_text", 87), + ("is_small", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ("is_horizontal", 93), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 95: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 96: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("content", 95)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 97: ( + "wagtail.blocks.StreamBlock", + [[("title", 56), ("accordion", 96)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 98: ("wagtail.blocks.IntegerBlock", (), {"label": "Number of steps"}), + 99: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step"}), + 100: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}), + 101: ("wagtail.blocks.StructBlock", [[("title", 56), ("detail", 100)]], {"label": "Step"}), + 102: ("wagtail.blocks.StreamBlock", [[("step", 101)]], {"label": "Steps"}), + 103: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("total", 98), ("current", 99), ("steps", 102)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 104: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 105: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 106: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 107: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 110: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 111: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 112: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 110), ("bottom_margin", 111)]], + {"group": "Page structure", "label": "Separator"}, + ), + 113: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 114: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 115: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 118: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 119: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 78)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 120: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 121: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.StructBlock", + [[("text", 118), ("cta_buttons", 119), ("cta_label", 120), ("cta_url", 121)]], + {"label": "Text and call to action"}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 124: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 125: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 126: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 129: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 130: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 131: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("blog", 125), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 133: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("index_page", 133), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 135: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 136: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 6), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 135), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 137: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ] + ], + {"label": "Column content"}, + ), + 139: ( + "wagtail.blocks.StructBlock", + [[("width", 137), ("content", 138)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 140: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ("column", 139), + ] + ], + {"label": "Columns"}, + ), + 141: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("bg_color", 115), + ("title", 1), + ("heading_tag", 116), + ("columns", 140), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 142: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Content"}, + ), + 143: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 113), ("bg_color_class", 114), ("content", 142)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 144: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Main content"}, + ), + 145: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 146: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 147: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 148: ("wagtail.blocks.StructBlock", [[("page", 147)]], {"label": "Page tree"}), + 149: ( + "wagtail.blocks.StreamBlock", + [[("html", 146), ("pagetree", 148)]], + {"label": "Side menu content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("main_content", 144), + ("sidemenu_title", 145), + ("sidemenu_content", 149), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 151: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 152: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="eventsindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("video", 49), + ("transcription", 50), + ("badges_list", 55), + ("tags_list", 61), + ("link", 62), + ("card", 84), + ("tile", 94), + ("accordions", 97), + ("stepper", 103), + ("markdown", 104), + ("iframe", 109), + ("separator", 112), + ("multicolumns", 141), + ("fullwidthbackground", 143), + ("fullwidthbackgroundwithsidemenu", 150), + ("subpageslist", 151), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("html", 152), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 29: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 33: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 34: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 28), + ("text", 29), + ("button", 32), + ("color", 33), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 35: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 36: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 35), ("color", 33), ("size", 36)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 38: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 40: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 41: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 42: ( + "wagtail.blocks.StructBlock", + [[("image", 38), ("quote", 39), ("author_name", 40), ("author_title", 41), ("color", 33)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 43: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 44: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 45: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 46: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 47: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 48: ( + "wagtail.blocks.StructBlock", + [[("title", 46), ("content", 47)]], + {"label": "Transcription", "required": False}, + ), + 49: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 43), + ("caption", 7), + ("url", 44), + ("width", 5), + ("video_ratio", 45), + ("transcription", 48), + ] + ], + {"label": "Video"}, + ), + 50: ("wagtail.blocks.StructBlock", [[("title", 46), ("content", 47)]], {"label": "Transcription"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 52: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 54: ( + "wagtail.blocks.StructBlock", + [[("text", 51), ("color", 52), ("hide_icon", 53)]], + {"label": "Badge"}, + ), + 55: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {"label": "Badge list"}), + 56: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 57: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 58: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 60: ( + "wagtail.blocks.StructBlock", + [[("label", 56), ("is_small", 57), ("color", 58), ("icon_class", 28), ("link", 59)]], + {"label": "Tag"}, + ), + 61: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {"label": "Tag list"}), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StreamBlock", + [[("badge", 54)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 66: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 67: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 68: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 69: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 70: ("wagtail.blocks.StreamBlock", [[("badge", 54)]], {}), + 71: ("wagtail.blocks.StreamBlock", [[("tag", 60)]], {}), + 72: ( + "wagtail.blocks.StreamBlock", + [[("badges", 70), ("tags", 71)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 73: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 74: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 75: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 76: ("wagtail.blocks.StreamBlock", [[("link", 75)]], {}), + 77: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 30), + ("icon_class", 28), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 78: ( + "wagtail.blocks.StreamBlock", + [[("button", 77)]], + { + "help_text": "Please use only one primary button. If you use icons, align them on the same side." + }, + ), + 79: ( + "wagtail.blocks.StreamBlock", + [[("links", 76), ("buttons", 78)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 80: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 81: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 82: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 83: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 84: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 63), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 73), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 85: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 86: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 87: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 88: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 93: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 94: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 85), + ("image", 86), + ("link", 65), + ("top_detail_badges_tags", 72), + ("detail_text", 87), + ("is_small", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ("is_horizontal", 93), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 95: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 96: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("content", 95)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 97: ( + "wagtail.blocks.StreamBlock", + [[("title", 56), ("accordion", 96)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 98: ("wagtail.blocks.IntegerBlock", (), {"label": "Number of steps"}), + 99: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step"}), + 100: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}), + 101: ("wagtail.blocks.StructBlock", [[("title", 56), ("detail", 100)]], {"label": "Step"}), + 102: ("wagtail.blocks.StreamBlock", [[("step", 101)]], {"label": "Steps"}), + 103: ( + "wagtail.blocks.StructBlock", + [[("title", 56), ("total", 98), ("current", 99), ("steps", 102)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 104: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 105: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 106: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 107: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 110: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 111: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 112: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 110), ("bottom_margin", 111)]], + {"group": "Page structure", "label": "Separator"}, + ), + 113: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 114: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "Café crème"), + ("brown-caramel", "Caramel"), + ("brown-opera", "Opéra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 115: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 118: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 119: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 78)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 120: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 121: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.StructBlock", + [[("text", 118), ("cta_buttons", 119), ("cta_label", 120), ("cta_url", 121)]], + {"label": "Text and call to action"}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [[("title", 105), ("url", 106), ("height", 107), ("parameters", 108)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 124: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 125: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 126: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 129: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 130: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 131: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("blog", 125), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 133: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 124), + ("index_page", 133), + ("entries_count", 126), + ("category_filter", 127), + ("tag_filter", 128), + ("author_filter", 129), + ("source_filter", 130), + ("show_filters", 131), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 135: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 136: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 56), + ("heading_tag", 26), + ("description", 29), + ("image", 38), + ("image_ratio", 6), + ("image_badge", 64), + ("link", 65), + ("url", 66), + ("document", 67), + ("top_detail_text", 68), + ("top_detail_icon", 69), + ("top_detail_badges_tags", 72), + ("bottom_detail_text", 135), + ("bottom_detail_icon", 74), + ("call_to_action", 79), + ("grey_background", 80), + ("no_background", 81), + ("no_border", 82), + ("shadow", 83), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 137: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ] + ], + {"label": "Column content"}, + ), + 139: ( + "wagtail.blocks.StructBlock", + [[("width", 137), ("content", 138)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 140: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("card", 136), + ("column", 139), + ] + ], + {"label": "Columns"}, + ), + 141: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("bg_color", 115), + ("title", 1), + ("heading_tag", 116), + ("columns", 140), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 142: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Content"}, + ), + 143: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 113), ("bg_color_class", 114), ("content", 142)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 144: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 117), + ("video", 49), + ("transcription", 50), + ("callout", 34), + ("highlight", 37), + ("quote", 42), + ("text_cta", 122), + ("link", 62), + ("iframe", 123), + ("tile", 94), + ("blog_recent_entries", 132), + ("events_recent_entries", 134), + ("image_and_text", 22), + ("card", 84), + ] + ], + {"label": "Main content"}, + ), + 145: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 146: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 147: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 148: ("wagtail.blocks.StructBlock", [[("page", 147)]], {"label": "Page tree"}), + 149: ( + "wagtail.blocks.StreamBlock", + [[("html", 146), ("pagetree", 148)]], + {"label": "Side menu content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 113), + ("bg_color_class", 114), + ("main_content", 144), + ("sidemenu_title", 145), + ("sidemenu_content", 149), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 151: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 152: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + ] diff --git a/events/templates/events/events_archive_page.html b/events/templates/events/events_archive_page.html index 1e2df476..7d006ae5 100644 --- a/events/templates/events/events_archive_page.html +++ b/events/templates/events/events_archive_page.html @@ -66,9 +66,9 @@

-
+
{% translate "Filters and export" %}
diff --git a/events/templates/events/events_index_page.html b/events/templates/events/events_index_page.html index 3e102c70..14b6df5d 100644 --- a/events/templates/events/events_index_page.html +++ b/events/templates/events/events_index_page.html @@ -66,9 +66,9 @@

-
+
{% translate "Filters and export" %}

{% translate "Filter by date" %}

diff --git a/forms/locale/fr/LC_MESSAGES/django.mo b/forms/locale/fr/LC_MESSAGES/django.mo index 853ec9270fd41523de27a7791447ac82baaa6f8a..0d140aa11cfe45583dc2eb98a7dcbf785bf76416 100644 GIT binary patch delta 23 ecmZ3>vzBK=2Q!z2u92C7p{bRT!RATKvzY)=iw2AU delta 23 ecmZ3>vzBK=2Q!zsu7Qz)p{bRT;pR!qvzY)=I0l9Q diff --git a/forms/locale/fr/LC_MESSAGES/django.po b/forms/locale/fr/LC_MESSAGES/django.po index 2aaff011..caa001c5 100644 --- a/forms/locale/fr/LC_MESSAGES/django.po +++ b/forms/locale/fr/LC_MESSAGES/django.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-02 13:15+0200\n" -"PO-Revision-Date: 2024-07-02 15:21+0200\n" +"POT-Creation-Date: 2024-08-26 15:14+0200\n" +"PO-Revision-Date: 2024-08-26 15:20+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -67,35 +67,35 @@ msgstr "Champ caché" msgid "Field type" msgstr "Type de champ" -#: forms/models.py:36 forms/models.py:76 +#: forms/models.py:36 forms/models.py:78 msgid "Form field" msgstr "Champ de formulaire" -#: forms/models.py:37 forms/models.py:76 +#: forms/models.py:37 forms/models.py:78 msgid "Form fields" msgstr "Champs de formulaire" -#: forms/models.py:75 +#: forms/models.py:77 msgid "Introduction" msgstr "Introduction" -#: forms/models.py:77 +#: forms/models.py:79 msgid "Thank you text" msgstr "Texte de remerciement" -#: forms/models.py:88 +#: forms/models.py:90 msgid "E-mail notification when an answer is sent" msgstr "Notification par e-mail quand une réponse est envoyée" -#: forms/models.py:89 +#: forms/models.py:91 msgid "Optional, will only work if SMTP parameters have been set." msgstr "Optionnel, ne fonctionnera que si les paramètres SMTP ont été configurés." -#: forms/models.py:94 +#: forms/models.py:96 msgid "Form page" msgstr "Page de formulaire" -#: forms/models.py:95 +#: forms/models.py:97 msgid "Form pages" msgstr "Pages de formulaire"