From a7f8296b06fcc428b0e64aa3fb9a9f1e60fc8281 Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Thu, 4 May 2023 13:49:08 +0100 Subject: [PATCH 01/12] Upgrade wagtail to 3.0.3 --- components/models.py | 2 +- conf/env/dev | 3 +- conf/settings.py | 3 +- conf/urls.py | 2 +- core/blocks.py | 2 +- core/blocks_serializers.py | 4 +- core/cache.py | 4 +- core/fields.py | 5 +- core/filters.py | 2 +- core/helpers.py | 6 +- .../commands/enable_tree_based_routing.py | 2 +- core/management/commands/list_slug_links.py | 2 +- core/mixins.py | 2 +- core/models.py | 4 +- core/panels.py | 2 +- core/serializer_mapping.py | 2 +- core/upstream_serializers.py | 2 +- core/views.py | 2 +- core/wagtail_hooks.py | 2 +- .../migrations/0055_auto_20190910_1242.py | 10 +- .../migrations/0056_auto_20190910_1337.py | 6 +- .../migrations/0060_homepage_campaign.py | 6 +- .../migrations/0063_auto_20191008_1307.py | 6 +- .../migrations/0064_auto_20191009_1050.py | 10 +- .../migrations/0066_auto_20191015_1054.py | 12 +- export_readiness/snippets.py | 5 +- .../blocks/great_international.py | 2 +- .../blocks/investment_atlas.py | 2 +- .../commands/set_missing_translated_titles.py | 2 +- .../0094_investment_opportunity_models.py | 40 +++---- .../0095_investmentatlaslandingpage.py | 22 ++-- .../migrations/0096_auto_20210820_1509.py | 22 ++-- .../migrations/0097_reusablecontentsection.py | 6 +- .../migrations/0098_auto_20210831_1536.py | 22 ++-- .../0100_refactor_international_homepage.py | 22 ++-- ...n_atlas_landing_page_block_main_content.py | 22 ++-- .../0102_add_new_investment_sector_model.py | 40 +++---- ...manually_selected_related_opportunities.py | 6 +- .../0108_add_help_text_to_streamfields.py | 40 +++---- ...9_relax_early_opportunities_constraints.py | 22 ++-- ...age_downpage_content_streamblock_change.py | 40 +++---- .../migrations/0114_auto_20210914_1328.py | 22 ++-- .../0114_investmentgeneralcontentpage.py | 22 ++-- ...factor_atlas_general_content_text_block.py | 40 +++---- .../0123_add_expandable_trigger_help_text.py | 40 +++---- ...ng_map_coordinates_for_opportunity_page.py | 6 +- .../migrations/0139_auto_20211013_1536.py | 22 ++-- .../migrations/0155_auto_20220719_1025.py | 6 +- great_international/models/capital_invest.py | 11 +- .../models/great_international.py | 8 +- .../models/investment_atlas.py | 13 ++- great_international/panels/capital_invest.py | 2 +- great_international/panels/find_a_supplier.py | 15 ++- .../panels/great_international.py | 109 +++++++++--------- great_international/panels/invest.py | 2 +- .../panels/investment_atlas.py | 26 ++--- requirements.in | 7 +- requirements.txt | 56 ++------- requirements_test.txt | 60 +++------- tests/conftest.py | 2 +- tests/core/helpers.py | 4 +- tests/core/test_cache.py | 6 +- tests/core/test_fields.py | 4 +- tests/core/test_models.py | 2 +- tests/great_international/test_blocks.py | 2 +- tests/great_international/test_models.py | 2 +- users/views.py | 2 +- users/wagtail_hooks.py | 2 +- 68 files changed, 423 insertions(+), 488 deletions(-) diff --git a/components/models.py b/components/models.py index 935844f3..164db5bc 100644 --- a/components/models.py +++ b/components/models.py @@ -5,7 +5,7 @@ ExclusivePageMixin, ServiceMixin, ) -from wagtail.admin.edit_handlers import ( +from wagtail.admin.panels import ( FieldPanel, MultiFieldPanel ) from core.mixins import ServiceNameUniqueSlugMixin diff --git a/conf/env/dev b/conf/env/dev index c5e2ba70..00cab11c 100644 --- a/conf/env/dev +++ b/conf/env/dev @@ -11,7 +11,8 @@ SECURE_SSL_REDIRECT=false HEALTH_CHECK_TOKEN=debug SIGNATURE_SECRET=debug BASE_URL=cms.trade.great -DB_NAME=directory_cms_debug +WAGTAILADMIN_BASE_URL=cms.trade.great +DB_NAME=directory_cms_debugx DB_USER=debug DB_PASSWORD=debug DATABASE_URL=postgres://debug:debug@localhost:5432/directory_cms_debug diff --git a/conf/settings.py b/conf/settings.py index 2c743d73..46ca24ed 100644 --- a/conf/settings.py +++ b/conf/settings.py @@ -77,7 +77,7 @@ 'wagtail.images', 'wagtail.search', 'wagtail.admin', - 'wagtail.core', + 'wagtail', 'wagtail.api.v2', 'wagtail.sites', 'modelcluster', @@ -357,6 +357,7 @@ WAGTAIL_EMAIL_MANAGEMENT_ENABLED = False BASE_URL = env.str('BASE_URL') +WAGTAILADMIN_BASE_URL = env.str('BASE_URL') APP_URL_EXPORT_READINESS = env.str('APP_URL_EXPORT_READINESS') APP_URL_GREAT_INTERNATIONAL = env.str('APP_URL_GREAT_INTERNATIONAL') diff --git a/conf/urls.py b/conf/urls.py index e7d033ee..0f0688df 100644 --- a/conf/urls.py +++ b/conf/urls.py @@ -5,7 +5,7 @@ from django.contrib import admin from wagtail.admin import urls as wagtailadmin_urls from wagtail.api.v2.router import WagtailAPIRouter -from wagtail.core import urls as wagtail_urls +from wagtail import urls as wagtail_urls from wagtail.documents import urls as wagtaildocs_urls from django.conf.urls import include, url diff --git a/core/blocks.py b/core/blocks.py index 8c429880..0ea5a790 100644 --- a/core/blocks.py +++ b/core/blocks.py @@ -1,4 +1,4 @@ -from wagtail.core import blocks +from wagtail import blocks from wagtail.images.blocks import ImageChooserBlock from wagtailmedia.blocks import AbstractMediaChooserBlock diff --git a/core/blocks_serializers.py b/core/blocks_serializers.py index cdb5a5b5..b259517c 100644 --- a/core/blocks_serializers.py +++ b/core/blocks_serializers.py @@ -3,7 +3,7 @@ from rest_framework import serializers from rest_framework.fields import SkipField from rest_framework.relations import PKOnlyObject -from wagtail.core.blocks import StructValue +from wagtail.blocks import StructValue from wagtail.images.api import fields as wagtail_fields @@ -11,7 +11,7 @@ class StreamChildBaseSerializer(serializers.Serializer): def to_representation(self, stream_child): """ - instance is wagtail.core.blocks.stream_block.StreamValue.StreamChild + instance is wagtail.blocks.stream_block.StreamValue.StreamChild instance.value is either an instance of StructValue, if struct block, or a single value """ ret = OrderedDict() diff --git a/core/cache.py b/core/cache.py index a4b3e80b..fa9d3a69 100644 --- a/core/cache.py +++ b/core/cache.py @@ -4,8 +4,8 @@ from directory_constants import cms, slugs from rest_framework.renderers import JSONRenderer -from wagtail.core.signals import page_published, page_unpublished -from wagtail.core.models import Page, Site +from wagtail.signals import page_published, page_unpublished +from wagtail.models import Page, Site from django.conf import settings from django.core.cache import cache diff --git a/core/fields.py b/core/fields.py index 3131f6fa..342284aa 100644 --- a/core/fields.py +++ b/core/fields.py @@ -1,6 +1,6 @@ from rest_framework import fields -from wagtail.core import blocks -from wagtail.core.fields import StreamField +from wagtail import blocks +from wagtail.fields import StreamField from conf import settings from core import helpers, models @@ -99,5 +99,6 @@ def single_struct_block_stream_field_factory( min_num=min_num, required=required ), + use_json_field=True, **kwargs) return field diff --git a/core/filters.py b/core/filters.py index b1515618..a019095b 100644 --- a/core/filters.py +++ b/core/filters.py @@ -1,6 +1,6 @@ import django_filters from django.contrib.contenttypes.models import ContentType -from wagtail.core.models import PAGE_MODEL_CLASSES, Page +from wagtail.models import PAGE_MODEL_CLASSES, Page class ServiceNameFilter(django_filters.FilterSet): diff --git a/core/helpers.py b/core/helpers.py index b0f6d75f..71eea2d6 100644 --- a/core/helpers.py +++ b/core/helpers.py @@ -8,9 +8,9 @@ from bleach_whitelist import markdown_tags, markdown_attrs from modeltranslation.utils import build_localized_fieldname -from wagtail.admin.edit_handlers import ObjectList, TabbedInterface -from wagtail.core import hooks -from wagtail.core.models import Page +from wagtail.admin.panels import ObjectList, TabbedInterface +from wagtail import hooks +from wagtail.models import Page from wagtail.documents.models import Document from wagtail.images.models import Image diff --git a/core/management/commands/enable_tree_based_routing.py b/core/management/commands/enable_tree_based_routing.py index ef0883c4..56058361 100644 --- a/core/management/commands/enable_tree_based_routing.py +++ b/core/management/commands/enable_tree_based_routing.py @@ -1,7 +1,7 @@ from directory_constants import cms from django.core.management import BaseCommand from django.core.management.base import no_translations -from wagtail.core.models import Page +from wagtail.models import Page from core import filters diff --git a/core/management/commands/list_slug_links.py b/core/management/commands/list_slug_links.py index 0dc6b499..44414318 100644 --- a/core/management/commands/list_slug_links.py +++ b/core/management/commands/list_slug_links.py @@ -1,6 +1,6 @@ from django.core.management import BaseCommand from django.core.management.base import no_translations -from wagtail.core.models import Page +from wagtail.models import Page from django.forms.models import model_to_dict from django.urls import reverse diff --git a/core/mixins.py b/core/mixins.py index d4e948be..67fd7c1c 100644 --- a/core/mixins.py +++ b/core/mixins.py @@ -1,4 +1,4 @@ -from wagtail.core.models import Page +from wagtail.models import Page from django.core.exceptions import ValidationError from django.db import transaction diff --git a/core/models.py b/core/models.py index b37035fd..ec0e332c 100644 --- a/core/models.py +++ b/core/models.py @@ -8,9 +8,9 @@ from modeltranslation import settings as modeltranslation_settings from modeltranslation.utils import build_localized_fieldname from modeltranslation.translator import translator -from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel +from wagtail.admin.panels import FieldPanel, MultiFieldPanel from wagtail.contrib.settings.models import BaseSetting, register_setting -from wagtail.core.models import Page, PageBase, Site +from wagtail.models import Page, PageBase, Site from django.core import signing from django.conf import settings diff --git a/core/panels.py b/core/panels.py index b229db3f..2b39b613 100644 --- a/core/panels.py +++ b/core/panels.py @@ -1,4 +1,4 @@ -from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel +from wagtail.admin.panels import FieldPanel, MultiFieldPanel class SearchEngineOptimisationPanel(MultiFieldPanel): diff --git a/core/serializer_mapping.py b/core/serializer_mapping.py index 99fd493d..9883c661 100644 --- a/core/serializer_mapping.py +++ b/core/serializer_mapping.py @@ -9,7 +9,7 @@ MODELS_SERIALIZERS_MAPPING = { # core page - wagtail.core.models.Page: core.serializers.WagtailPageSerializer, + wagtail.models.Page: core.serializers.WagtailPageSerializer, # Atlas core # ---------- diff --git a/core/upstream_serializers.py b/core/upstream_serializers.py index c4bb5c3f..57c74325 100644 --- a/core/upstream_serializers.py +++ b/core/upstream_serializers.py @@ -2,7 +2,7 @@ from datetime import date, datetime import json -from wagtail.core.models import Page +from wagtail.models import Page from wagtail.documents.models import Document from wagtail.images.models import Image diff --git a/core/views.py b/core/views.py index f9e95ea4..30f1ab2b 100644 --- a/core/views.py +++ b/core/views.py @@ -6,7 +6,7 @@ from rest_framework.response import Response from rest_framework.views import APIView from wagtail.admin.api.views import PagesAdminAPIViewSet -from wagtail.core.models import Orderable, Page, Site +from wagtail.models import Orderable, Page, Site from core.models import GreatMedia diff --git a/core/wagtail_hooks.py b/core/wagtail_hooks.py index 4fb43bb3..864de9b9 100644 --- a/core/wagtail_hooks.py +++ b/core/wagtail_hooks.py @@ -1,5 +1,5 @@ from wagtail.admin.widgets import Button, PageListingButton -from wagtail.core import hooks +from wagtail import hooks from wagtail.admin.wagtail_hooks import page_listing_buttons from django.conf import settings diff --git a/export_readiness/migrations/0055_auto_20190910_1242.py b/export_readiness/migrations/0055_auto_20190910_1242.py index b3b643e9..2422e693 100644 --- a/export_readiness/migrations/0055_auto_20190910_1242.py +++ b/export_readiness/migrations/0055_auto_20190910_1242.py @@ -2,8 +2,8 @@ from django.db import migrations, models import django.db.models.deletion -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -39,7 +39,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='how_dit_helps_columns', - field=wagtail.core.fields.StreamField([('columns', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock()), ('content', wagtail.core.blocks.RichTextBlock()), ('icon', wagtail.images.blocks.ImageChooserBlock(required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('columns', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('content', wagtail.blocks.RichTextBlock()), ('icon', wagtail.images.blocks.ImageChooserBlock(required=False))]))], blank=True, null=True), ), migrations.AddField( model_name='homepage', @@ -49,7 +49,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='questions', - field=wagtail.core.fields.StreamField([('questions', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock()), ('content', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('questions', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('content', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), migrations.AddField( model_name='homepage', @@ -59,7 +59,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='what_is_new_pages', - field=wagtail.core.fields.StreamField([('pages', wagtail.core.blocks.PageChooserBlock(page_type=['export_readiness.ArticlePage']))], blank=True, null=True), + field=wagtail.fields.StreamField([('pages', wagtail.blocks.PageChooserBlock(page_type=['export_readiness.ArticlePage']))], blank=True, null=True), ), migrations.AddField( model_name='homepage', diff --git a/export_readiness/migrations/0056_auto_20190910_1337.py b/export_readiness/migrations/0056_auto_20190910_1337.py index cc80828c..e47d9070 100644 --- a/export_readiness/migrations/0056_auto_20190910_1337.py +++ b/export_readiness/migrations/0056_auto_20190910_1337.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-09-10 13:37 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -16,6 +16,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='how_dit_helps_columns', - field=wagtail.core.fields.StreamField([('columns', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock()), ('content', wagtail.core.blocks.RichTextBlock()), ('icon', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('columns', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('content', wagtail.blocks.RichTextBlock()), ('icon', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(required=False))]))], blank=True, null=True), ), ] diff --git a/export_readiness/migrations/0060_homepage_campaign.py b/export_readiness/migrations/0060_homepage_campaign.py index 46a7f22b..81dd619c 100644 --- a/export_readiness/migrations/0060_homepage_campaign.py +++ b/export_readiness/migrations/0060_homepage_campaign.py @@ -2,8 +2,8 @@ import core.blocks from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -17,6 +17,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='campaign', - field=wagtail.core.fields.StreamField([('campaign', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock()), ('subheading', wagtail.core.blocks.CharBlock()), ('related_link', wagtail.core.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('video', core.blocks.VideoChooserBlock()), ('video_transcript', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('campaign', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('subheading', wagtail.blocks.CharBlock()), ('related_link', wagtail.blocks.RichTextBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('video', core.blocks.VideoChooserBlock()), ('video_transcript', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), ] diff --git a/export_readiness/migrations/0063_auto_20191008_1307.py b/export_readiness/migrations/0063_auto_20191008_1307.py index 4c4fb699..cc843c72 100644 --- a/export_readiness/migrations/0063_auto_20191008_1307.py +++ b/export_readiness/migrations/0063_auto_20191008_1307.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-10-08 13:07 from django.db import migrations, models -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,7 +15,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='homepage', name='chevron_links', - field=wagtail.core.fields.StreamField([('links', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock()), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('links', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock()), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock())]))], blank=True, null=True), ), migrations.AddField( model_name='homepage', diff --git a/export_readiness/migrations/0064_auto_20191009_1050.py b/export_readiness/migrations/0064_auto_20191009_1050.py index e2ae3ab6..7a35d22b 100644 --- a/export_readiness/migrations/0064_auto_20191009_1050.py +++ b/export_readiness/migrations/0064_auto_20191009_1050.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.4 on 2019-10-09 10:50 from django.db import migrations, models -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -25,16 +25,16 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='chevron_links', - field=wagtail.core.fields.StreamField([('links', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock(help_text='The source of the link, eg GOV.UK')), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('links', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock(help_text='The source of the link, eg GOV.UK')), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock())]))], blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='how_dit_helps_columns', - field=wagtail.core.fields.StreamField([('columns', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock(help_text='The source of the link, eg GOV.UK')), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(required=False)), ('content', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('columns', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock(help_text='The source of the link, eg GOV.UK')), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(required=False)), ('content', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='what_is_new_pages', - field=wagtail.core.fields.StreamField([('pages', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock(help_text='The source of the link, eg GOV.UK')), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(required=False)), ('content', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('pages', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock(help_text='The source of the link, eg GOV.UK')), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(required=False)), ('content', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), ] diff --git a/export_readiness/migrations/0066_auto_20191015_1054.py b/export_readiness/migrations/0066_auto_20191015_1054.py index 3d2bf037..77b297df 100644 --- a/export_readiness/migrations/0066_auto_20191015_1054.py +++ b/export_readiness/migrations/0066_auto_20191015_1054.py @@ -2,8 +2,8 @@ import core.blocks from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -17,21 +17,21 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='homepage', name='campaign', - field=wagtail.core.fields.StreamField([('campaign', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock()), ('subheading', wagtail.core.blocks.CharBlock()), ('related_link_text', wagtail.core.blocks.CharBlock()), ('related_link_url', wagtail.core.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('video', core.blocks.VideoChooserBlock()), ('video_transcript', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('campaign', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock()), ('subheading', wagtail.blocks.CharBlock()), ('related_link_text', wagtail.blocks.CharBlock()), ('related_link_url', wagtail.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock()), ('video', core.blocks.VideoChooserBlock()), ('video_transcript', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='chevron_links', - field=wagtail.core.fields.StreamField([('links', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock(help_text='The source or the type of the link, e.g. GOV.UK/Advice')), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('links', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock(help_text='The source or the type of the link, e.g. GOV.UK/Advice')), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock())]))], blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='how_dit_helps_columns', - field=wagtail.core.fields.StreamField([('columns', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock(help_text='The source or the type of the link, e.g. GOV.UK/Advice')), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(required=False)), ('content', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('columns', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock(help_text='The source or the type of the link, e.g. GOV.UK/Advice')), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(required=False)), ('content', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), migrations.AlterField( model_name='homepage', name='what_is_new_pages', - field=wagtail.core.fields.StreamField([('pages', wagtail.core.blocks.StructBlock([('source', wagtail.core.blocks.CharBlock(help_text='The source or the type of the link, e.g. GOV.UK/Advice')), ('text', wagtail.core.blocks.CharBlock()), ('url', wagtail.core.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(required=False)), ('content', wagtail.core.blocks.RichTextBlock())]))], blank=True, null=True), + field=wagtail.fields.StreamField([('pages', wagtail.blocks.StructBlock([('source', wagtail.blocks.CharBlock(help_text='The source or the type of the link, e.g. GOV.UK/Advice')), ('text', wagtail.blocks.CharBlock()), ('url', wagtail.blocks.CharBlock()), ('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(required=False)), ('content', wagtail.blocks.RichTextBlock())]))], blank=True, null=True), ), ] diff --git a/export_readiness/snippets.py b/export_readiness/snippets.py index dca86452..086faf8e 100644 --- a/export_readiness/snippets.py +++ b/export_readiness/snippets.py @@ -1,7 +1,6 @@ from django.db import models -from wagtail.admin.edit_handlers import FieldPanel -from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.admin.panels import FieldPanel from wagtail.snippets.models import register_snippet @@ -33,7 +32,7 @@ def __str__(self): panels = [ FieldPanel('name'), - ImageChooserPanel('icon') + FieldPanel('icon') ] diff --git a/great_international/blocks/great_international.py b/great_international/blocks/great_international.py index dcfbde0e..573ee514 100644 --- a/great_international/blocks/great_international.py +++ b/great_international/blocks/great_international.py @@ -1,6 +1,6 @@ # Blocks for the main Great International site, not specific to any sub-section (eg investment_atlas) from django import forms -from wagtail.core import blocks +from wagtail import blocks from wagtail.images.blocks import ImageChooserBlock from core import blocks as core_blocks diff --git a/great_international/blocks/investment_atlas.py b/great_international/blocks/investment_atlas.py index 67e44868..1012fdd2 100644 --- a/great_international/blocks/investment_atlas.py +++ b/great_international/blocks/investment_atlas.py @@ -1,6 +1,6 @@ """Streamfield blocks for Investment Atlas pages""" -from wagtail.core import blocks +from wagtail import blocks from wagtail.snippets.blocks import SnippetChooserBlock from core.blocks import ButtonBlock, BaseAltTextImageBlock, GreatMediaBlock diff --git a/great_international/management/commands/set_missing_translated_titles.py b/great_international/management/commands/set_missing_translated_titles.py index af8be138..8cf19857 100644 --- a/great_international/management/commands/set_missing_translated_titles.py +++ b/great_international/management/commands/set_missing_translated_titles.py @@ -1,6 +1,6 @@ from directory_constants import cms from modeltranslation.utils import build_localized_fieldname -from wagtail.core.models import Page +from wagtail.models import Page from django.conf import settings from django.core.management.base import BaseCommand diff --git a/great_international/migrations/0094_investment_opportunity_models.py b/great_international/migrations/0094_investment_opportunity_models.py index d487951d..f94cc8f3 100644 --- a/great_international/migrations/0094_investment_opportunity_models.py +++ b/great_international/migrations/0094_investment_opportunity_models.py @@ -7,8 +7,8 @@ import great_international.blocks.investment_atlas import great_international.panels.investment_atlas import modelcluster.fields -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -102,15 +102,15 @@ class Migration(migrations.Migration): ('breadcrumbs_label_pt', models.CharField(max_length=50, null=True)), ('breadcrumbs_label_ar', models.CharField(max_length=50, null=True)), ('priority_weighting', models.DecimalField(decimal_places=2, default='0.0', help_text='For use when auto-ordering results or automatically choosing which to show - an Opportunity with a higher priority weighting will be shown earlier. Max val: 999.99', max_digits=5)), - ('featured_images', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_en_gb', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_de', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_ja', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_zh_hans', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_fr', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_es', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_pt', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), - ('featured_images_ar', wagtail.core.fields.StreamField([('images', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_en_gb', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_de', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_ja', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_zh_hans', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_fr', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_es', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_pt', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), + ('featured_images_ar', wagtail.fields.StreamField([('images', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))]))], blank=True, null=True)), ('strapline', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200)), ('strapline_en_gb', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)), ('strapline_de', models.CharField(help_text='A single sentence which directly brings to the direct opportunity to the fore. 200 chars max.', max_length=200, null=True)), @@ -184,15 +184,15 @@ class Migration(migrations.Migration): ('time_to_investment_decision_es', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)), ('time_to_investment_decision_pt', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)), ('time_to_investment_decision_ar', models.CharField(blank=True, choices=[('TIME_TO_INVESTMENT_DECISION_0M_6M', '0-6 months'), ('TIME_TO_INVESTMENT_DECISION_6M_12M', '6-12 months'), ('TIME_TO_INVESTMENT_DECISION_1Y_2Y', '1-2 years'), ('TIME_TO_INVESTMENT_DECISION_2Y_PLUS', '2 years +')], max_length=50, null=True)), - ('main_content', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_en_gb', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_de', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_ja', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_zh_hans', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_fr', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_es', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_pt', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_ar', wagtail.core.fields.StreamField([('copy', wagtail.core.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.core.blocks.StructBlock([('name', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.core.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_en_gb', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_de', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_ja', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_zh_hans', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_fr', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_es', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_pt', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_ar', wagtail.fields.StreamField([('copy', wagtail.blocks.StructBlock([('text_content', great_international.blocks.investment_atlas.MarkdownBlock(required=True)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('contact_details', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(max_length=255, required=True)), ('job_title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('contact_link', wagtail.blocks.CharBlock(blank=True, help_text='Can be a URL or an email link in the format mailto:user@example.com', null=True))])), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), ], options={ 'abstract': False, diff --git a/great_international/migrations/0095_investmentatlaslandingpage.py b/great_international/migrations/0095_investmentatlaslandingpage.py index a9c64764..611066dc 100644 --- a/great_international/migrations/0095_investmentatlaslandingpage.py +++ b/great_international/migrations/0095_investmentatlaslandingpage.py @@ -4,8 +4,8 @@ from django.db import migrations, models import django.db.models.deletion import great_international.panels.investment_atlas -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -51,15 +51,15 @@ class Migration(migrations.Migration): ('hero_strapline_es', models.TextField(blank=True, max_length=500, null=True)), ('hero_strapline_pt', models.TextField(blank=True, max_length=500, null=True)), ('hero_strapline_ar', models.TextField(blank=True, max_length=500, null=True)), - ('downpage_sections', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_en_gb', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_de', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_ja', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_zh_hans', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_fr', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_es', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_pt', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_sections_ar', wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_en_gb', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_de', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_ja', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_zh_hans', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_fr', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_es', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_pt', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_sections_ar', wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel', max_length=255)), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True)), ('hero_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ('hero_image_ar', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ('hero_image_de', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), diff --git a/great_international/migrations/0096_auto_20210820_1509.py b/great_international/migrations/0096_auto_20210820_1509.py index e6a99260..3d20534e 100644 --- a/great_international/migrations/0096_auto_20210820_1509.py +++ b/great_international/migrations/0096_auto_20210820_1509.py @@ -4,8 +4,8 @@ from django.db import migrations, models import django.db.models.deletion import great_international.blocks.investment_atlas -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -245,46 +245,46 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentopportunitypage', name='main_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0097_reusablecontentsection.py b/great_international/migrations/0097_reusablecontentsection.py index 0af89ac7..148d99e5 100644 --- a/great_international/migrations/0097_reusablecontentsection.py +++ b/great_international/migrations/0097_reusablecontentsection.py @@ -2,8 +2,8 @@ from django.db import migrations, models import great_international.blocks.investment_atlas -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -19,7 +19,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200)), - ('content', wagtail.core.fields.StreamField([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))])), + ('content', wagtail.fields.StreamField([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))])), ('block_slug', models.CharField(blank=True, help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255)), ], ), diff --git a/great_international/migrations/0098_auto_20210831_1536.py b/great_international/migrations/0098_auto_20210831_1536.py index 929d2af0..356c5496 100644 --- a/great_international/migrations/0098_auto_20210831_1536.py +++ b/great_international/migrations/0098_auto_20210831_1536.py @@ -3,8 +3,8 @@ from django.db import migrations import great_international.blocks.investment_atlas import great_international.models.investment_atlas -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -18,46 +18,46 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentopportunitypage', name='main_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.investment_atlas.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0100_refactor_international_homepage.py b/great_international/migrations/0100_refactor_international_homepage.py index e0f259ae..7c0d0359 100644 --- a/great_international/migrations/0100_refactor_international_homepage.py +++ b/great_international/migrations/0100_refactor_international_homepage.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.24 on 2021-09-03 13:58 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -15,46 +15,46 @@ class Migration(migrations.Migration): migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_ar', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_de', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_en_gb', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_es', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_fr', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_ja', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_pt', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='internationalhomepage', name='homepage_link_panels_zh_hans', - field=wagtail.core.fields.StreamField([('link_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0101_remove_limit_on_atlas_landing_page_block_main_content.py b/great_international/migrations/0101_remove_limit_on_atlas_landing_page_block_main_content.py index b6c9616f..18e6d19d 100644 --- a/great_international/migrations/0101_remove_limit_on_atlas_landing_page_block_main_content.py +++ b/great_international/migrations/0101_remove_limit_on_atlas_landing_page_block_main_content.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.24 on 2021-09-06 13:11 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -16,46 +16,46 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ar', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_de', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_en_gb', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_es', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_fr', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ja', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_pt', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_zh_hans', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0102_add_new_investment_sector_model.py b/great_international/migrations/0102_add_new_investment_sector_model.py index a709e401..a3aacace 100644 --- a/great_international/migrations/0102_add_new_investment_sector_model.py +++ b/great_international/migrations/0102_add_new_investment_sector_model.py @@ -6,8 +6,8 @@ import great_international.blocks.great_international import great_international.panels.great_international import modelcluster.fields -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -117,24 +117,24 @@ class Migration(migrations.Migration): ('related_opportunities_header_es', models.CharField(blank=True, help_text='You may want to phrase this to suit the kind of opportunities being featured, if not automatic', max_length=255, null=True)), ('related_opportunities_header_pt', models.CharField(blank=True, help_text='You may want to phrase this to suit the kind of opportunities being featured, if not automatic', max_length=255, null=True)), ('related_opportunities_header_ar', models.CharField(blank=True, help_text='You may want to phrase this to suit the kind of opportunities being featured, if not automatic', max_length=255, null=True)), - ('downpage_content', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_en_gb', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_de', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_ja', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_zh_hans', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_fr', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_es', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_pt', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('downpage_content_ar', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('early_opportunities', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_en_gb', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_de', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_ja', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_zh_hans', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_fr', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_es', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_pt', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), - ('early_opportunities_ar', wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('downpage_content', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_en_gb', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_de', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_ja', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_zh_hans', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_fr', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_es', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_pt', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('downpage_content_ar', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock(help_text='Use H3 headers or lower, not H2 or H1')), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], help_text='Smaller snippets of content', max_num=2, min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('early_opportunities', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_en_gb', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_de', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_ja', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_zh_hans', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_fr', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_es', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_pt', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), + ('early_opportunities_ar', wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=False)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True)), ('contact_avatar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ('contact_avatar_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ('contact_avatar_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), diff --git a/great_international/migrations/0105_refactor_manually_selected_related_opportunities.py b/great_international/migrations/0105_refactor_manually_selected_related_opportunities.py index c86745c0..38fa97e9 100644 --- a/great_international/migrations/0105_refactor_manually_selected_related_opportunities.py +++ b/great_international/migrations/0105_refactor_manually_selected_related_opportunities.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.24 on 2021-09-07 13:36 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -19,6 +19,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='internationalinvestmentsectorpage', name='manually_selected_related_opportunities', - field=wagtail.core.fields.StreamField([('related_opportunity', wagtail.core.blocks.PageChooserBlock(page_type=['great_international.InvestmentOpportunityPage']))], blank=True, help_text='Max 3 will be shown. If none is specified, three will be automatically chosen based on matching sector, their priority_weighting and most recent creation', null=True), + field=wagtail.fields.StreamField([('related_opportunity', wagtail.blocks.PageChooserBlock(page_type=['great_international.InvestmentOpportunityPage']))], blank=True, help_text='Max 3 will be shown. If none is specified, three will be automatically chosen based on matching sector, their priority_weighting and most recent creation', null=True), ), ] diff --git a/great_international/migrations/0108_add_help_text_to_streamfields.py b/great_international/migrations/0108_add_help_text_to_streamfields.py index 59f564bb..ac92c2c2 100644 --- a/great_international/migrations/0108_add_help_text_to_streamfields.py +++ b/great_international/migrations/0108_add_help_text_to_streamfields.py @@ -4,8 +4,8 @@ import great_international.blocks.great_international import great_international.blocks.investment_atlas import great_international.models.investment_atlas -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -19,91 +19,91 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ar', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_de', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_en_gb', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_es', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_fr', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ja', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_pt', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_zh_hans', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), migrations.AlterField( model_name='investmentopportunitypage', name='main_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0109_relax_early_opportunities_constraints.py b/great_international/migrations/0109_relax_early_opportunities_constraints.py index 2cb5993c..6a2a83b2 100644 --- a/great_international/migrations/0109_relax_early_opportunities_constraints.py +++ b/great_international/migrations/0109_relax_early_opportunities_constraints.py @@ -2,8 +2,8 @@ from django.db import migrations import great_international.blocks.great_international -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -17,46 +17,46 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_ar', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_de', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_en_gb', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_es', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_fr', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_ja', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_pt', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_zh_hans', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], blank=True)), ('text', great_international.blocks.great_international.MarkdownBlock(blank=False))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0113_sector_page_downpage_content_streamblock_change.py b/great_international/migrations/0113_sector_page_downpage_content_streamblock_change.py index 187e3bca..218d4395 100644 --- a/great_international/migrations/0113_sector_page_downpage_content_streamblock_change.py +++ b/great_international/migrations/0113_sector_page_downpage_content_streamblock_change.py @@ -2,8 +2,8 @@ from django.db import migrations import great_international.blocks.great_international -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -17,91 +17,91 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_ar', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_de', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_en_gb', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_es', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_fr', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_ja', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_pt', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='early_opportunities_zh_hans', - field=wagtail.core.fields.StreamField([('early_opportunity', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0114_auto_20210914_1328.py b/great_international/migrations/0114_auto_20210914_1328.py index a586fba8..d82e8aae 100644 --- a/great_international/migrations/0114_auto_20210914_1328.py +++ b/great_international/migrations/0114_auto_20210914_1328.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.24 on 2021-09-14 13:28 from django.db import migrations, models -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -394,47 +394,47 @@ class Migration(migrations.Migration): migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_ar', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_de', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_en_gb', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_es', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_fr', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_ja', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_pt', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', name='uk_strength_panels_zh_hans', - field=wagtail.core.fields.StreamField([('article_panel', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.core.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True), ), migrations.AddField( model_name='whyinvestintheukpage', diff --git a/great_international/migrations/0114_investmentgeneralcontentpage.py b/great_international/migrations/0114_investmentgeneralcontentpage.py index ab8b795b..554519ee 100644 --- a/great_international/migrations/0114_investmentgeneralcontentpage.py +++ b/great_international/migrations/0114_investmentgeneralcontentpage.py @@ -5,8 +5,8 @@ import django.db.models.deletion import great_international.blocks.great_international import great_international.panels.investment_atlas -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -43,15 +43,15 @@ class Migration(migrations.Migration): ('introduction_es', core.model_fields.MarkdownField(null=True)), ('introduction_pt', core.model_fields.MarkdownField(null=True)), ('introduction_ar', core.model_fields.MarkdownField(null=True)), - ('main_content', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_en_gb', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_de', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_ja', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_zh_hans', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_fr', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_es', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_pt', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), - ('main_content_ar', wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_en_gb', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_de', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_ja', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_zh_hans', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_fr', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_es', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_pt', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), + ('main_content_ar', wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())])), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True)), ('hero_image', models.ForeignKey(blank=True, help_text='Main page hero image, above the opportunity title', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ('hero_image_ar', models.ForeignKey(blank=True, help_text='Main page hero image, above the opportunity title', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), ('hero_image_de', models.ForeignKey(blank=True, help_text='Main page hero image, above the opportunity title', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')), diff --git a/great_international/migrations/0117_refactor_atlas_general_content_text_block.py b/great_international/migrations/0117_refactor_atlas_general_content_text_block.py index 5164cf57..51a846a8 100644 --- a/great_international/migrations/0117_refactor_atlas_general_content_text_block.py +++ b/great_international/migrations/0117_refactor_atlas_general_content_text_block.py @@ -2,8 +2,8 @@ from django.db import migrations import great_international.blocks.great_international -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -17,91 +17,91 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ar', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_de', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_en_gb', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_es', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_fr', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ja', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_pt', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_zh_hans', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text='Use H3 headers or lower, not H2 or H1')), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0123_add_expandable_trigger_help_text.py b/great_international/migrations/0123_add_expandable_trigger_help_text.py index 5d1929de..7e86093d 100644 --- a/great_international/migrations/0123_add_expandable_trigger_help_text.py +++ b/great_international/migrations/0123_add_expandable_trigger_help_text.py @@ -2,8 +2,8 @@ from django.db import migrations import great_international.blocks.great_international -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -17,91 +17,91 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='internationalinvestmentsectorpage', name='downpage_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_ar', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_de', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_en_gb', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_es', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_fr', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_ja', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_pt', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), migrations.AlterField( model_name='investmentgeneralcontentpage', name='main_content_zh_hans', - field=wagtail.core.fields.StreamField([('content_section', wagtail.core.blocks.StructBlock([('content', wagtail.core.blocks.StreamBlock([('header', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.core.blocks.StreamBlock([('text', wagtail.core.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.core.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0125_adding_map_coordinates_for_opportunity_page.py b/great_international/migrations/0125_adding_map_coordinates_for_opportunity_page.py index 3b0465e6..b413e931 100644 --- a/great_international/migrations/0125_adding_map_coordinates_for_opportunity_page.py +++ b/great_international/migrations/0125_adding_map_coordinates_for_opportunity_page.py @@ -1,8 +1,8 @@ # Generated by Django 2.2.24 on 2021-09-27 15:34 from django.db import migrations -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -23,6 +23,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='investmentopportunitypage', name='regions_with_locations', - field=wagtail.core.fields.StreamField([('location', wagtail.core.blocks.StructBlock([('region', wagtail.core.blocks.PageChooserBlock(label='Linked Region', page_type=['great_international.AboutUkRegionPage'], required=False)), ('map_coordinate', wagtail.core.blocks.CharBlock(help_text='Latitude and longitude Coordinates, e.g. 176.0944492, -38.50245621', label='Linked Location Coordinates', max_length=200))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('location', wagtail.blocks.StructBlock([('region', wagtail.blocks.PageChooserBlock(label='Linked Region', page_type=['great_international.AboutUkRegionPage'], required=False)), ('map_coordinate', wagtail.blocks.CharBlock(help_text='Latitude and longitude Coordinates, e.g. 176.0944492, -38.50245621', label='Linked Location Coordinates', max_length=200))]))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0139_auto_20211013_1536.py b/great_international/migrations/0139_auto_20211013_1536.py index 24862e2b..d2224a82 100644 --- a/great_international/migrations/0139_auto_20211013_1536.py +++ b/great_international/migrations/0139_auto_20211013_1536.py @@ -3,8 +3,8 @@ import core.blocks from django.db import migrations, models import django.db.models.deletion -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields import wagtail.images.blocks @@ -64,46 +64,46 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ar', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_de', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_en_gb', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_es', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_fr', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_ja', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_pt', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), migrations.AlterField( model_name='investmentatlaslandingpage', name='downpage_sections_zh_hans', - field=wagtail.core.fields.StreamField([('panel', wagtail.core.blocks.StructBlock([('heading', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.core.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.core.blocks.StructBlock([('label', wagtail.core.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.core.blocks.StructBlock([('internal_link', wagtail.core.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.core.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.core.blocks.StreamBlock([('image', wagtail.core.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.core.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.core.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.core.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.core.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True), ), ] diff --git a/great_international/migrations/0155_auto_20220719_1025.py b/great_international/migrations/0155_auto_20220719_1025.py index 39d9b100..7c4972e9 100644 --- a/great_international/migrations/0155_auto_20220719_1025.py +++ b/great_international/migrations/0155_auto_20220719_1025.py @@ -2,8 +2,8 @@ from django.db import migrations, models import great_international.validators -import wagtail.core.blocks -import wagtail.core.fields +import wagtail.blocks +import wagtail.fields class Migration(migrations.Migration): @@ -106,6 +106,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='investmentopportunitypage', name='regions_with_locations', - field=wagtail.core.fields.StreamField([('location', wagtail.core.blocks.StructBlock([('region', wagtail.core.blocks.PageChooserBlock(label='Linked Region', page_type=['great_international.AboutUkRegionPage'], required=False)), ('map_coordinate', wagtail.core.blocks.CharBlock(help_text='Latitude and longitude Coordinates, e.g. 176.0944492, -38.50245621', label='Linked Location Coordinates', max_length=200, validators=[great_international.validators.validate_lat_long]))]))], blank=True, null=True), + field=wagtail.fields.StreamField([('location', wagtail.blocks.StructBlock([('region', wagtail.blocks.PageChooserBlock(label='Linked Region', page_type=['great_international.AboutUkRegionPage'], required=False)), ('map_coordinate', wagtail.blocks.CharBlock(help_text='Latitude and longitude Coordinates, e.g. 176.0944492, -38.50245621', label='Linked Location Coordinates', max_length=200, validators=[great_international.validators.validate_lat_long]))]))], blank=True, null=True), ), ] diff --git a/great_international/models/capital_invest.py b/great_international/models/capital_invest.py index e1682533..2f9a3fc1 100644 --- a/great_international/models/capital_invest.py +++ b/great_international/models/capital_invest.py @@ -1,10 +1,9 @@ from django.db import models -from wagtail.admin.edit_handlers import ( +from wagtail.admin.panels import ( FieldPanel, MultiFieldPanel, PageChooserPanel ) -from wagtail.documents.edit_handlers import DocumentChooserPanel -from wagtail.images.edit_handlers import ImageChooserPanel + from core.models import WagtailAdminExclusivePageMixin from core.model_fields import MarkdownField @@ -27,7 +26,7 @@ class RegionCardField(models.Model): panels = [ MultiFieldPanel([ - ImageChooserPanel('region_card_image'), + FieldPanel('region_card_image'), FieldPanel('region_card_title'), FieldPanel('region_card_summary'), ]), @@ -56,9 +55,9 @@ class HomesInEnglandCardField(models.Model): panels = [ MultiFieldPanel([ - ImageChooserPanel('homes_in_england_card_image'), + FieldPanel('homes_in_england_card_image'), FieldPanel('homes_in_england_card_title'), - DocumentChooserPanel('homes_in_england_card_pdf_document'), + FieldPanel('homes_in_england_card_pdf_document'), ]), ] diff --git a/great_international/models/great_international.py b/great_international/models/great_international.py index bea443b1..d37f2b8a 100644 --- a/great_international/models/great_international.py +++ b/great_international/models/great_international.py @@ -1,9 +1,9 @@ from directory_constants import slugs from django.db import models from modelcluster.fields import ParentalKey, ParentalManyToManyField -from wagtail.core.blocks import PageChooserBlock -from wagtail.core.fields import StreamField -from wagtail.core.models import Orderable +from wagtail.blocks import PageChooserBlock +from wagtail.fields import StreamField +from wagtail.models import Orderable from core.constants import ARTICLE_TYPES from core.fields import single_struct_block_stream_field_factory from core.mixins import ServiceHomepageMixin @@ -173,6 +173,7 @@ class InternationalHomePage( [ ('link_panel', blocks.InternationalHomepagePanelBlock()), ], + use_json_field=True, blank=True, null=True, ) @@ -937,6 +938,7 @@ class WhyInvestInTheUKPage( [ ('article_panel', blocks.InternationalUKStrengthPanelBlock()), ], + use_json_field=True, blank=True, null=True, ) diff --git a/great_international/models/investment_atlas.py b/great_international/models/investment_atlas.py index 5fb7a647..80d1dc64 100644 --- a/great_international/models/investment_atlas.py +++ b/great_international/models/investment_atlas.py @@ -2,13 +2,12 @@ from directory_constants import slugs -from wagtail.core.fields import StreamField -from wagtail.core.models import Orderable -from wagtail.admin.edit_handlers import ( +from wagtail.fields import StreamField +from wagtail.models import Orderable +from wagtail.admin.panels import ( HelpPanel, FieldPanel, PageChooserPanel, - StreamFieldPanel, ) from .base import BaseInternationalPage @@ -89,6 +88,7 @@ class ReusableContentSection(models.Model): content = StreamField( investment_atlas_blocks.page_section_block_spec_list, + use_json_field=True, blank=False, ) @@ -108,7 +108,7 @@ class ReusableContentSection(models.Model): "Content Section in an Opportunity page." ), FieldPanel('title'), - StreamFieldPanel('content'), + FieldPanel('content'), FieldPanel('block_slug'), ] @@ -191,6 +191,7 @@ class InvestmentAtlasLandingPage( ), ), ], + use_json_field=True, null=True, blank=True, ) @@ -399,6 +400,7 @@ class InvestmentOpportunityPage( regions_with_locations = StreamField([ ('location', investment_atlas_blocks.OpportunityLocationBlock()) ], + use_json_field=True, null=True, blank=True, ) @@ -465,6 +467,7 @@ class InvestmentOpportunityPage( ) ) ], + use_json_field=True, null=True, blank=True, ) diff --git a/great_international/panels/capital_invest.py b/great_international/panels/capital_invest.py index 8da2b710..fca12310 100644 --- a/great_international/panels/capital_invest.py +++ b/great_international/panels/capital_invest.py @@ -1,4 +1,4 @@ -from wagtail.admin.edit_handlers import FieldPanel +from wagtail.admin.panels import FieldPanel from core.helpers import make_translated_interface from core.panels import SearchEngineOptimisationPanel diff --git a/great_international/panels/find_a_supplier.py b/great_international/panels/find_a_supplier.py index 91396901..f0cf7c4a 100644 --- a/great_international/panels/find_a_supplier.py +++ b/great_international/panels/find_a_supplier.py @@ -1,7 +1,6 @@ -from wagtail.admin.edit_handlers import ( +from wagtail.admin.panels import ( FieldPanel, FieldRowPanel, MultiFieldPanel, ObjectList ) -from wagtail.images.edit_handlers import ImageChooserPanel from core.helpers import make_translated_interface from core.panels import SearchEngineOptimisationPanel @@ -10,8 +9,8 @@ class InternationalTradeHomePagePanels: image_panels = [ - ImageChooserPanel('hero_image'), - ImageChooserPanel('mobile_hero_image'), + FieldPanel('hero_image'), + FieldPanel('mobile_hero_image'), ] content_panels = [ @@ -51,19 +50,19 @@ class InternationalTradeHomePagePanels: classname='full field-row-panel', children=[ MultiFieldPanel([ - ImageChooserPanel('services_column_one_icon'), + FieldPanel('services_column_one_icon'), FieldPanel('services_column_one'), ]), MultiFieldPanel([ - ImageChooserPanel('services_column_two_icon'), + FieldPanel('services_column_two_icon'), FieldPanel('services_column_two'), ]), MultiFieldPanel([ - ImageChooserPanel('services_column_three_icon'), + FieldPanel('services_column_three_icon'), FieldPanel('services_column_three'), ]), MultiFieldPanel([ - ImageChooserPanel('services_column_four_icon'), + FieldPanel('services_column_four_icon'), FieldPanel('services_column_four'), ]), ], diff --git a/great_international/panels/great_international.py b/great_international/panels/great_international.py index fd82ddf1..7643a3b8 100644 --- a/great_international/panels/great_international.py +++ b/great_international/panels/great_international.py @@ -1,5 +1,5 @@ from django.forms import CheckboxSelectMultiple, Select, Textarea -from wagtail.admin.edit_handlers import ( +from wagtail.admin.panels import ( FieldPanel, FieldRowPanel, HelpPanel, @@ -7,11 +7,8 @@ MultiFieldPanel, ObjectList, PageChooserPanel, - StreamFieldPanel ) -from wagtail.documents.edit_handlers import DocumentChooserPanel -from wagtail.images.edit_handlers import ImageChooserPanel from wagtailmedia.edit_handlers import MediaChooserPanel from wagtailmedia.widgets import AdminMediaChooser from core.helpers import make_translated_interface @@ -24,7 +21,7 @@ class InternationalHomePagePanels: FieldPanel('title'), FieldPanel('hero_title'), MediaChooserPanel('hero_video'), - StreamFieldPanel('homepage_link_panels'), + FieldPanel('homepage_link_panels'), SearchEngineOptimisationPanel(), ] @@ -47,7 +44,7 @@ class BaseInternationalSectorPagePanels: children=[ FieldPanel('heading'), FieldPanel('sub_heading'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), FieldPanel('heading_teaser'), FieldPanel('featured_description') ] @@ -65,7 +62,7 @@ class BaseInternationalSectorPagePanels: FieldPanel('section_one_body'), MultiFieldPanel( [ - ImageChooserPanel('section_one_image'), + FieldPanel('section_one_image'), FieldPanel('section_one_image_caption'), FieldPanel('section_one_image_caption_company') ] @@ -136,7 +133,7 @@ class BaseInternationalSectorPagePanels: [ MultiFieldPanel( [ - ImageChooserPanel( + FieldPanel( 'section_two_subsection_one_icon'), FieldPanel( 'section_two_subsection_one_heading'), @@ -146,7 +143,7 @@ class BaseInternationalSectorPagePanels: ), MultiFieldPanel( [ - ImageChooserPanel( + FieldPanel( 'section_two_subsection_two_icon'), FieldPanel( 'section_two_subsection_two_heading'), @@ -156,7 +153,7 @@ class BaseInternationalSectorPagePanels: ), MultiFieldPanel( [ - ImageChooserPanel( + FieldPanel( 'section_two_subsection_three_icon'), FieldPanel( 'section_two_subsection_three_heading'), @@ -185,7 +182,7 @@ class BaseInternationalSectorPagePanels: 'great_international.InternationalArticlePage', 'great_international.InternationalCampaignPage', ]), - ImageChooserPanel('case_study_image') + FieldPanel('case_study_image') ] ), MultiFieldPanel( @@ -284,7 +281,7 @@ class InternationalArticlePagePanels: FieldPanel('title'), FieldPanel('article_title'), FieldPanel('type_of_article', widget=Select), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), MultiFieldPanel( heading='Article content', @@ -307,7 +304,7 @@ class InternationalArticlePagePanels: ] image_panels = [ - ImageChooserPanel('article_image'), + FieldPanel('article_image'), FieldPanel('article_video', widget=AdminMediaChooser), ] @@ -333,7 +330,7 @@ class InternationalArticleListingPagePanels: MultiFieldPanel( heading='Hero', children=[ - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), FieldPanel('hero_teaser') ] ), @@ -362,7 +359,7 @@ class InternationalCampaignPagePanels: FieldPanel('campaign_heading'), FieldPanel('campaign_subheading'), FieldPanel('campaign_teaser'), - ImageChooserPanel('campaign_hero_image'), + FieldPanel('campaign_hero_image'), ] ), MultiFieldPanel( @@ -370,25 +367,25 @@ class InternationalCampaignPagePanels: children=[ FieldPanel('section_one_heading'), FieldPanel('section_one_intro'), - ImageChooserPanel('section_one_image'), + FieldPanel('section_one_image'), FieldRowPanel([ MultiFieldPanel( children=[ - ImageChooserPanel('selling_point_one_icon'), + FieldPanel('selling_point_one_icon'), FieldPanel('selling_point_one_heading'), FieldPanel('selling_point_one_content'), ] ), MultiFieldPanel( children=[ - ImageChooserPanel('selling_point_two_icon'), + FieldPanel('selling_point_two_icon'), FieldPanel('selling_point_two_heading'), FieldPanel('selling_point_two_content'), ] ), MultiFieldPanel( children=[ - ImageChooserPanel('selling_point_three_icon'), + FieldPanel('selling_point_three_icon'), FieldPanel('selling_point_three_heading'), FieldPanel('selling_point_three_content'), ] @@ -405,7 +402,7 @@ class InternationalCampaignPagePanels: children=[ FieldPanel('section_two_heading'), FieldPanel('section_two_intro'), - ImageChooserPanel('section_two_image'), + FieldPanel('section_two_image'), FieldRowPanel([ FieldPanel('section_two_contact_button_text'), FieldPanel('section_two_contact_button_url'), @@ -464,7 +461,7 @@ class InternationalTopicLandingPagePanels: MultiFieldPanel( heading='Hero content', children=[ - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), FieldPanel('hero_teaser') ] @@ -514,7 +511,7 @@ class AboutDitServiceFieldPanels: panels = [ MultiFieldPanel([ - ImageChooserPanel('icon'), + FieldPanel('icon'), FieldPanel('title'), FieldPanel('summary'), FieldPanel('link_text'), @@ -598,9 +595,9 @@ class AboutDitServicesPagePanels: ] image_panels = [ - ImageChooserPanel('hero_image'), - ImageChooserPanel('ebook_section_image'), - ImageChooserPanel('case_study_image'), + FieldPanel('hero_image'), + FieldPanel('ebook_section_image'), + FieldPanel('case_study_image'), ] settings_panels = [ @@ -619,19 +616,19 @@ class AboutDitServicesPagePanels: class AboutUkLandingPagePanels: image_panels = [ - ImageChooserPanel('hero_image'), - ImageChooserPanel('why_choose_uk_image'), + FieldPanel('hero_image'), + FieldPanel('why_choose_uk_image'), MultiFieldPanel( heading="How we help images", children=[ - ImageChooserPanel('how_we_help_one_icon'), - ImageChooserPanel('how_we_help_two_icon'), - ImageChooserPanel('how_we_help_three_icon'), - ImageChooserPanel('how_we_help_four_icon'), - ImageChooserPanel('how_we_help_five_icon'), - ImageChooserPanel('how_we_help_six_icon'), + FieldPanel('how_we_help_one_icon'), + FieldPanel('how_we_help_two_icon'), + FieldPanel('how_we_help_three_icon'), + FieldPanel('how_we_help_four_icon'), + FieldPanel('how_we_help_five_icon'), + FieldPanel('how_we_help_six_icon'), ]), - ImageChooserPanel('ebook_section_image'), + FieldPanel('ebook_section_image'), ] content_panels = [ @@ -772,7 +769,7 @@ class AboutUkLandingPagePanels: HelpPanel('CTAs require both text and a link to show ' 'on page. '), FieldPanel('ebook_section_cta_text'), - DocumentChooserPanel('ebook_section_cta_link'), + FieldPanel('ebook_section_cta_link'), ]), ] ), @@ -804,7 +801,7 @@ class AboutUkLandingPagePanels: class AboutUkRegionListingPagePanels: image_panels = [ - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video') ] @@ -875,7 +872,7 @@ class AboutUkRegionPagePanels: heading="Hero", children=[ FieldPanel('hero_title'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), ], ), FieldPanel('featured_description'), @@ -885,7 +882,7 @@ class AboutUkRegionPagePanels: children=[ HelpPanel('Required fields for section to show: ' 'Region Summary Section Content'), - ImageChooserPanel('region_summary_section_image'), + FieldPanel('region_summary_section_image'), FieldPanel('region_summary_section_strapline'), FieldPanel('region_summary_section_intro'), FieldPanel('region_summary_section_content'), @@ -989,7 +986,7 @@ class AboutUkRegionPagePanels: HelpPanel('Required fields for section to show: ' 'Property and Infrastructure Section Title, ' 'Property and Infrastructure Section Content'), - ImageChooserPanel('property_and_infrastructure_section_image'), + FieldPanel('property_and_infrastructure_section_image'), FieldPanel('property_and_infrastructure_section_title'), FieldPanel('property_and_infrastructure_section_content'), ], @@ -1003,17 +1000,17 @@ class AboutUkRegionPagePanels: FieldRowPanel([ MultiFieldPanel([ FieldPanel('sub_section_one_title'), - ImageChooserPanel('sub_section_one_icon'), + FieldPanel('sub_section_one_icon'), FieldPanel('sub_section_one_content') ]), MultiFieldPanel([ FieldPanel('sub_section_two_title'), - ImageChooserPanel('sub_section_two_icon'), + FieldPanel('sub_section_two_icon'), FieldPanel('sub_section_two_content') ]), MultiFieldPanel([ FieldPanel('sub_section_three_title'), - ImageChooserPanel('sub_section_three_icon'), + FieldPanel('sub_section_three_icon'), FieldPanel('sub_section_three_content') ]), ]), @@ -1025,7 +1022,7 @@ class AboutUkRegionPagePanels: children=[ HelpPanel('Required fields for section to show: ' 'Case Study Image, Case Study Title'), - ImageChooserPanel('case_study_image'), + FieldPanel('case_study_image'), FieldPanel('case_study_title'), FieldPanel('case_study_text'), HelpPanel('Cta\'s require both text and a link to show ' @@ -1063,7 +1060,7 @@ class AboutUkArticleFieldPanels: panels = [ MultiFieldPanel([ - ImageChooserPanel('image'), + FieldPanel('image'), FieldPanel('title'), FieldPanel('summary'), HelpPanel('Both link text and link URL required for link to show'), @@ -1082,7 +1079,7 @@ class AboutUkWhyChooseTheUkPagePanels: heading="Hero", children=[ FieldPanel('hero_title'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), ], ), MultiFieldPanel( @@ -1101,7 +1098,7 @@ class AboutUkWhyChooseTheUkPagePanels: FieldRowPanel([ FieldPanel('section_one_body'), MultiFieldPanel([ - ImageChooserPanel('section_one_image'), + FieldPanel('section_one_image'), FieldPanel('section_one_video', widget=AdminMediaChooser) ]) ]) @@ -1175,7 +1172,7 @@ class AboutUkWhyChooseTheUkPagePanels: children=[ HelpPanel('Required fields for section to show: title, body'), FieldRowPanel([ - ImageChooserPanel('ebook_section_image'), + FieldPanel('ebook_section_image'), FieldPanel('ebook_section_image_alt_text') ]), MultiFieldPanel([ @@ -1251,7 +1248,7 @@ class InternationalInvestmentSectorPagePanels: classname='collapsible', children=[ FieldPanel('heading'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), FieldPanel('standfirst'), FieldPanel('featured_description') @@ -1262,7 +1259,7 @@ class InternationalInvestmentSectorPagePanels: classname='collapsible', children=[ FieldPanel('intro_text'), - ImageChooserPanel('intro_image'), + FieldPanel('intro_image'), ] ), MultiFieldPanel( @@ -1270,7 +1267,7 @@ class InternationalInvestmentSectorPagePanels: classname='collapsible', children=[ FieldPanel('contact_name'), - ImageChooserPanel('contact_avatar'), + FieldPanel('contact_avatar'), FieldPanel('contact_job_title'), FieldPanel('contact_link'), FieldPanel('contact_link_button_preamble'), @@ -1285,13 +1282,13 @@ class InternationalInvestmentSectorPagePanels: HelpPanel('See the dedicated tab for selecting the opportunities themselves'), ] ), - StreamFieldPanel('downpage_content'), + FieldPanel('downpage_content'), MultiFieldPanel( heading='Early opportunities', classname='collapsible', children=[ FieldPanel('early_opportunities_header'), - StreamFieldPanel('early_opportunities'), + FieldPanel('early_opportunities'), ] ), SearchEngineOptimisationPanel() @@ -1306,7 +1303,7 @@ class InternationalInvestmentSectorPagePanels: FieldRowPanel( heading='Related Opportunities', children=[ - StreamFieldPanel('manually_selected_related_opportunities'), + FieldPanel ('manually_selected_related_opportunities'), ] ), ] @@ -1343,11 +1340,11 @@ class WhyInvestInTheUKPagePanels: classname='collapsible', children=[ FieldPanel('title'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), FieldPanel('strapline'), FieldPanel('introduction'), - ImageChooserPanel('intro_image'), + FieldPanel('intro_image'), ], ), MultiFieldPanel( @@ -1356,7 +1353,7 @@ class WhyInvestInTheUKPagePanels: children=[ FieldPanel('uk_strength_title'), FieldPanel('uk_strength_intro'), - StreamFieldPanel('uk_strength_panels'), + FieldPanel('uk_strength_panels'), ], ), diff --git a/great_international/panels/invest.py b/great_international/panels/invest.py index 8d805237..40a8d05a 100644 --- a/great_international/panels/invest.py +++ b/great_international/panels/invest.py @@ -1,4 +1,4 @@ -from wagtail.admin.edit_handlers import FieldPanel +from wagtail.admin.panels import FieldPanel class InvestHighPotentialOpportunitiesPagePanels: diff --git a/great_international/panels/investment_atlas.py b/great_international/panels/investment_atlas.py index 767d1790..d3421952 100644 --- a/great_international/panels/investment_atlas.py +++ b/great_international/panels/investment_atlas.py @@ -1,13 +1,11 @@ -from wagtail.admin.edit_handlers import ( +from wagtail.admin.panels import ( FieldPanel, FieldRowPanel, HelpPanel, InlinePanel, MultiFieldPanel, - StreamFieldPanel, ) -from wagtail.images.edit_handlers import ImageChooserPanel from wagtailmedia.edit_handlers import MediaChooserPanel from core.helpers import make_translated_interface @@ -29,9 +27,9 @@ class InvestmentAtlasLandingPagePanels: heading='Hero', classname='collapsible', children=[ - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), - ImageChooserPanel('mobile_hero_image'), + FieldPanel('mobile_hero_image'), FieldPanel('hero_title'), FieldPanel('hero_strapline'), FieldPanel('hero_cta_text'), @@ -42,7 +40,7 @@ class InvestmentAtlasLandingPagePanels: heading='Downpage content panels', classname='collapsible', children=[ - StreamFieldPanel('downpage_sections'), + FieldPanel('downpage_sections'), ], ), SearchEngineOptimisationPanel(), @@ -105,11 +103,11 @@ class InvestmentOpportunityPagePanels: children=[ FieldPanel('title'), FieldPanel('breadcrumbs_label'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), FieldPanel('strapline'), FieldPanel('introduction'), - ImageChooserPanel('intro_image'), + FieldPanel('intro_image'), MediaChooserPanel('intro_video'), FieldPanel('opportunity_summary'), ], @@ -142,7 +140,7 @@ class InvestmentOpportunityPagePanels: classname='collapsible', children=[ FieldPanel('contact_name'), - ImageChooserPanel('contact_avatar'), + FieldPanel('contact_avatar'), FieldPanel('contact_job_title'), FieldPanel('contact_link'), ], @@ -151,7 +149,7 @@ class InvestmentOpportunityPagePanels: heading='The Opportunity', classname='collapsible', children=[ - StreamFieldPanel('main_content'), + FieldPanel('main_content'), FieldPanel('important_links'), ], ), @@ -164,7 +162,7 @@ class InvestmentOpportunityPagePanels: heading='Location and Relevant Regions', classname='collapsible', children=[ - StreamFieldPanel('regions_with_locations'), + FieldPanel('regions_with_locations'), ] ), FieldRowPanel( @@ -196,14 +194,14 @@ class InvestmentGeneralContentPagePanels: classname='collapsible', children=[ FieldPanel('title'), - ImageChooserPanel('hero_image'), + FieldPanel('hero_image'), MediaChooserPanel('hero_video'), FieldPanel('strapline'), FieldPanel('introduction'), - ImageChooserPanel('intro_image'), + FieldPanel('intro_image'), ], ), - StreamFieldPanel('main_content'), + FieldPanel('main_content'), SearchEngineOptimisationPanel(), ] settings_panels = [ diff --git a/requirements.in b/requirements.in index b094c862..9e04d25c 100644 --- a/requirements.in +++ b/requirements.in @@ -15,7 +15,6 @@ directory-components==38.* directory-constants==22.* django-staff-sso-client==4.* html2text==2020.* -wagtailmedia==0.* pytube==9.2.2 django-filter>=2.4.0 django-redis @@ -26,8 +25,8 @@ requests[security]==2.27.1 markdown==2.* bleach==3.* bleach-whitelist==0.* -wagtail==2.15.* -wagtail-modeltranslation==0.11.0 +wagtail==3.0.3 +wagtail-modeltranslation==0.12.0 django-modeltranslation==0.18.2 urllib3==1.26.* w3lib==1.22 @@ -38,6 +37,6 @@ pycountry==19.8.18 elastic-apm>6.0 gevent==22.10.* psycogreen==1.0.2 -wagtailmedia==0.5.0 +wagtailmedia==0.12.0 cryptography==39.* oauthlib==3.2.* \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index fcc815ac..87afd8b1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,9 +23,7 @@ beautifulsoup4==4.9.3 billiard==3.6.4.0 # via celery bleach==3.3.1 - # via - # -r requirements.in - # readme-renderer + # via -r requirements.in bleach-whitelist==0.0.11 # via -r requirements.in boto3==1.24.96 @@ -34,8 +32,6 @@ botocore==1.27.96 # via # boto3 # s3transfer -bump2version==1.0.1 - # via wagtail-modeltranslation celery[redis]==5.2.7 # via # -r requirements.in @@ -61,8 +57,6 @@ click-plugins==1.1.1 # via celery click-repl==0.2.0 # via celery -colorama==0.4.6 - # via twine cryptography==39.0.2 # via -r requirements.in directory-components==38.2.1 @@ -86,7 +80,9 @@ django==3.2.18 # django-celery-beat # django-filter # django-health-check + # django-modelcluster # django-modeltranslation + # django-permissionedforms # django-redis # django-staff-sso-client # django-storages @@ -97,6 +93,7 @@ django==3.2.18 # sigauth # wagtail # wagtail-modeltranslation + # wagtailmedia django-admin-ip-restrictor==2.2.0 # via -r requirements.in django-celery-beat==2.2.1 @@ -111,12 +108,14 @@ django-health-check==3.16.5 # via directory-healthcheck django-ipware==3.0.7 # via django-admin-ip-restrictor -django-modelcluster==5.3 +django-modelcluster==6.0 # via wagtail django-modeltranslation==0.18.2 # via # -r requirements.in # wagtail-modeltranslation +django-permissionedforms==0.1 + # via wagtail django-pglocks==1.0.4 # via -r requirements.in django-redis==5.2.0 @@ -125,7 +124,7 @@ django-staff-sso-client==4.1.1 # via -r requirements.in django-storages==1.13.2 # via -r requirements.in -django-taggit==1.5.1 +django-taggit==2.1.0 # via wagtail django-timezone-field==4.2.3 # via django-celery-beat @@ -140,8 +139,6 @@ docopt==0.6.2 # via # notifications-python-client # num2words -docutils==0.19 - # via readme-renderer draftjs-exporter==2.1.7 # via wagtail elastic-apm==6.15.1 @@ -160,20 +157,12 @@ html5lib==1.1 # via wagtail idna==3.4 # via requests -importlib-metadata==6.4.1 - # via - # keyring - # twine -jaraco-classes==3.2.3 - # via keyring jmespath==1.0.1 # via # boto3 # botocore jsonschema==3.2.0 # via directory-components -keyring==23.13.1 - # via twine kombu==5.2.3 # via # -r requirements.in @@ -184,8 +173,6 @@ markdown==2.6.11 # via -r requirements.in mohawk==1.1.0 # via sigauth -more-itertools==9.1.0 - # via jaraco-classes notifications-python-client==6.3.0 # via -r requirements.in num2words==0.5.10 @@ -200,8 +187,6 @@ packaging==23.1 # via bleach pillow==9.5.0 # via wagtail -pkginfo==1.9.6 - # via twine prompt-toolkit==3.0.38 # via click-repl psycogreen==1.0.2 @@ -212,8 +197,6 @@ pycountry==19.8.18 # via -r requirements.in pycparser==2.21 # via cffi -pygments==2.15.0 - # via readme-renderer pyjwt==2.6.0 # via notifications-python-client pyrsistent==0.19.3 @@ -234,8 +217,6 @@ pytz==2023.3 # django-timezone-field # djangorestframework # l18n -readme-renderer==37.3 - # via twine redis==4.5.4 # via # celery @@ -245,18 +226,12 @@ requests[security]==2.27.1 # -r requirements.in # notifications-python-client # requests-oauthlib - # requests-toolbelt - # twine # wagtail requests-oauthlib==1.3.1 # via django-staff-sso-client -requests-toolbelt==0.10.1 - # via twine -rfc3986==2.0.0 - # via twine s3transfer==0.6.0 # via boto3 -sentry-sdk==1.19.1 +sentry-sdk==1.21.1 # via -r requirements.in sigauth==5.1.1 # via -r requirements.in @@ -280,10 +255,6 @@ tablib[xls,xlsx]==3.4.0 # via wagtail telepath==0.3 # via wagtail -tqdm==4.65.0 - # via twine -twine==3.8.0 - # via wagtail-modeltranslation typing-extensions==4.5.0 # via dj-database-url urllib3==1.26.15 @@ -293,7 +264,6 @@ urllib3==1.26.15 # elastic-apm # requests # sentry-sdk - # twine vine==5.0.0 # via # amqp @@ -301,14 +271,14 @@ vine==5.0.0 # kombu w3lib==1.22 # via -r requirements.in -wagtail==2.15.6 +wagtail==3.0.3 # via # -r requirements.in # wagtail-modeltranslation # wagtailmedia -wagtail-modeltranslation==0.11.0 +wagtail-modeltranslation==0.12.0 # via -r requirements.in -wagtailmedia==0.5.0 +wagtailmedia==0.12.0 # via -r requirements.in wcwidth==0.2.6 # via prompt-toolkit @@ -328,8 +298,6 @@ xlsxwriter==3.1.0 # via wagtail xlwt==1.3.0 # via tablib -zipp==3.15.0 - # via importlib-metadata zope-event==4.6 # via gevent zope-interface==6.0 diff --git a/requirements_test.txt b/requirements_test.txt index cd68e9c0..3a7e60ba 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -23,9 +23,7 @@ beautifulsoup4==4.9.3 billiard==3.6.4.0 # via celery bleach==3.3.1 - # via - # -r requirements.in - # readme-renderer + # via -r requirements.in bleach-whitelist==0.0.11 # via -r requirements.in boto3==1.24.96 @@ -36,8 +34,6 @@ botocore==1.27.96 # s3transfer build==0.10.0 # via pip-tools -bump2version==1.0.1 - # via wagtail-modeltranslation celery[redis]==5.2.7 # via # -r requirements.in @@ -64,8 +60,6 @@ click-plugins==1.1.1 # via celery click-repl==0.2.0 # via celery -colorama==0.4.6 - # via twine coverage[toml]==6.5.0 # via # coveralls @@ -97,7 +91,9 @@ django==3.2.18 # django-debug-toolbar # django-filter # django-health-check + # django-modelcluster # django-modeltranslation + # django-permissionedforms # django-redis # django-staff-sso-client # django-storages @@ -108,6 +104,7 @@ django==3.2.18 # sigauth # wagtail # wagtail-modeltranslation + # wagtailmedia django-admin-ip-restrictor==2.2.0 # via -r requirements.in django-celery-beat==2.2.1 @@ -124,12 +121,14 @@ django-health-check==3.16.5 # via directory-healthcheck django-ipware==3.0.7 # via django-admin-ip-restrictor -django-modelcluster==5.3 +django-modelcluster==6.0 # via wagtail django-modeltranslation==0.18.2 # via # -r requirements.in # wagtail-modeltranslation +django-permissionedforms==0.1 + # via wagtail django-pglocks==1.0.4 # via -r requirements.in django-redis==5.2.0 @@ -138,7 +137,7 @@ django-staff-sso-client==4.1.1 # via -r requirements.in django-storages==1.13.2 # via -r requirements.in -django-taggit==1.5.1 +django-taggit==2.1.0 # via wagtail django-timezone-field==4.2.3 # via django-celery-beat @@ -154,8 +153,6 @@ docopt==0.6.2 # coveralls # notifications-python-client # num2words -docutils==0.19 - # via readme-renderer draftjs-exporter==2.1.7 # via wagtail elastic-apm==6.15.1 @@ -168,7 +165,7 @@ factory-boy==2.12.0 # via # -r requirements_test.in # wagtail-factories -faker==18.4.0 +faker==18.6.2 # via factory-boy flake8==6.0.0 # via -r requirements_test.in @@ -190,22 +187,14 @@ html5lib==1.1 # via wagtail idna==3.4 # via requests -importlib-metadata==6.4.1 - # via - # keyring - # twine iniconfig==2.0.0 # via pytest -jaraco-classes==3.2.3 - # via keyring jmespath==1.0.1 # via # boto3 # botocore jsonschema==3.2.0 # via directory-components -keyring==23.13.1 - # via twine kombu==5.2.3 # via # -r requirements.in @@ -218,8 +207,6 @@ mccabe==0.7.0 # via flake8 mohawk==1.1.0 # via sigauth -more-itertools==9.1.0 - # via jaraco-classes notifications-python-client==6.3.0 # via -r requirements.in num2words==0.5.10 @@ -240,8 +227,6 @@ pillow==9.5.0 # via wagtail pip-tools==6.13.0 # via -r requirements_test.in -pkginfo==1.9.6 - # via twine pluggy==1.0.0 # via pytest prompt-toolkit==3.0.38 @@ -258,8 +243,6 @@ pycparser==2.21 # via cffi pyflakes==3.0.1 # via flake8 -pygments==2.15.0 - # via readme-renderer pyjwt==2.6.0 # via notifications-python-client pyproject-hooks==1.0.0 @@ -301,8 +284,6 @@ pytz==2023.3 # django-timezone-field # djangorestframework # l18n -readme-renderer==37.3 - # via twine redis==4.5.4 # via # celery @@ -315,20 +296,14 @@ requests[security]==2.27.1 # pytest-codecov # requests-mock # requests-oauthlib - # requests-toolbelt - # twine # wagtail requests-mock==1.10.0 # via -r requirements_test.in requests-oauthlib==1.3.1 # via django-staff-sso-client -requests-toolbelt==0.10.1 - # via twine -rfc3986==2.0.0 - # via twine s3transfer==0.6.0 # via boto3 -sentry-sdk==1.19.1 +sentry-sdk==1.21.1 # via -r requirements.in sigauth==5.1.1 # via -r requirements.in @@ -358,7 +333,7 @@ tablib[xls,xlsx]==3.4.0 # via wagtail telepath==0.3 # via wagtail -termcolor==2.2.0 +termcolor==2.3.0 # via pytest-sugar tomli==2.0.1 # via @@ -366,10 +341,6 @@ tomli==2.0.1 # coverage # pyproject-hooks # pytest -tqdm==4.65.0 - # via twine -twine==3.8.0 - # via wagtail-modeltranslation typing-extensions==4.5.0 # via dj-database-url urllib3==1.26.15 @@ -379,7 +350,6 @@ urllib3==1.26.15 # elastic-apm # requests # sentry-sdk - # twine vine==5.0.0 # via # amqp @@ -387,7 +357,7 @@ vine==5.0.0 # kombu w3lib==1.22 # via -r requirements.in -wagtail==2.15.6 +wagtail==3.0.3 # via # -r requirements.in # wagtail-factories @@ -395,9 +365,9 @@ wagtail==2.15.6 # wagtailmedia wagtail-factories==2.0.1 # via -r requirements_test.in -wagtail-modeltranslation==0.11.0 +wagtail-modeltranslation==0.12.0 # via -r requirements.in -wagtailmedia==0.5.0 +wagtailmedia==0.12.0 # via -r requirements.in wcwidth==0.2.6 # via prompt-toolkit @@ -419,8 +389,6 @@ xlsxwriter==3.1.0 # via wagtail xlwt==1.3.0 # via tablib -zipp==3.15.0 - # via importlib-metadata zope-event==4.6 # via gevent zope-interface==6.0 diff --git a/tests/conftest.py b/tests/conftest.py index ff79100a..0e6bd68c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -6,7 +6,7 @@ from six import b from wagtail.documents.models import Document from wagtail.images.models import Image -from wagtail.core.models import GroupPagePermission, Locale, Page, Site +from wagtail.models import GroupPagePermission, Locale, Page, Site from wagtail_factories.factories import ImageFactory from django.contrib.auth.models import Group, Permission diff --git a/tests/core/helpers.py b/tests/core/helpers.py index 5cd647b5..1bd21e0c 100644 --- a/tests/core/helpers.py +++ b/tests/core/helpers.py @@ -1,8 +1,8 @@ import requests -from wagtail.core.models import Locale +from wagtail.models import Locale from django.core.files.base import ContentFile from django.core.files import File -from wagtail.core.models import Collection +from wagtail.models import Collection from wagtailmedia import models as wagtailmedia_models diff --git a/tests/core/test_cache.py b/tests/core/test_cache.py index 8dcd9aaf..99662c44 100644 --- a/tests/core/test_cache.py +++ b/tests/core/test_cache.py @@ -4,8 +4,8 @@ import pytest from unittest import mock -from wagtail.core.models import Page -from wagtail.core.signals import page_published +from wagtail.models import Page +from wagtail.signals import page_published from core import cache @@ -121,7 +121,7 @@ def test_cache_populator(translated_page): ) -@mock.patch('wagtail.core.signals.page_published.connect') +@mock.patch('wagtail.signals.page_published.connect') @mock.patch('core.cache.page_unpublished.connect') def test_subscriber_subscribe_to_publish(mock_page_unpublished, mock_page_published): diff --git a/tests/core/test_fields.py b/tests/core/test_fields.py index 37b85284..ca7f0e00 100644 --- a/tests/core/test_fields.py +++ b/tests/core/test_fields.py @@ -1,8 +1,8 @@ import pytest from django.utils import translation from rest_framework.serializers import Serializer -from wagtail.core import blocks -from wagtail.core.fields import StreamField +from wagtail import blocks +from wagtail.fields import StreamField from core import fields from great_international.serializers import InternationalArticlePageSerializer diff --git a/tests/core/test_models.py b/tests/core/test_models.py index 98339e19..66b33b96 100644 --- a/tests/core/test_models.py +++ b/tests/core/test_models.py @@ -7,7 +7,7 @@ from django.utils import translation from django.test import TestCase -from wagtail.core.models import Page, Site +from wagtail.models import Page, Site from tests.core.helpers import make_test_video diff --git a/tests/great_international/test_blocks.py b/tests/great_international/test_blocks.py index 9e7b71c9..cd68840e 100644 --- a/tests/great_international/test_blocks.py +++ b/tests/great_international/test_blocks.py @@ -2,7 +2,7 @@ import pytest from django.test import override_settings -from wagtail.core.blocks import StreamBlock +from wagtail.blocks import StreamBlock from core.blocks import DEFAULT_IMAGE_RENDITION_SPEC, GreatMediaBlock from great_international.blocks.great_international import FeaturedImageBlock, MarkdownBlock diff --git a/tests/great_international/test_models.py b/tests/great_international/test_models.py index 174d61e3..22af11e6 100644 --- a/tests/great_international/test_models.py +++ b/tests/great_international/test_models.py @@ -1,5 +1,5 @@ import pytest -from wagtail.core.models import Page +from wagtail.models import Page from great_international.models import ( capital_invest, diff --git a/users/views.py b/users/views.py index 2c29b1d8..5870ec78 100644 --- a/users/views.py +++ b/users/views.py @@ -7,7 +7,7 @@ from django.views import generic from wagtail.admin import messages from wagtail.admin.views.generic import EditView -from wagtail.core import hooks +from wagtail import hooks from wagtail.users.utils import user_can_delete_user from wagtail.users.views.users import add_user_perm, change_user_perm diff --git a/users/wagtail_hooks.py b/users/wagtail_hooks.py index 6a330a1c..e15347a5 100644 --- a/users/wagtail_hooks.py +++ b/users/wagtail_hooks.py @@ -1,5 +1,5 @@ from django.conf.urls import url, include -from wagtail.core import hooks +from wagtail import hooks from . import urls as users_urls From 4fb9615a1597cfc3026199a807cd4826b3e100e1 Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Thu, 4 May 2023 16:58:04 +0100 Subject: [PATCH 02/12] Fixed tests - custome media model setting has changed --- conf/settings.py | 11 ++++++++++- makefile | 12 ++++++++++++ tests/great_international/test_blocks.py | 1 + tests/great_international/test_serializers.py | 2 ++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/conf/settings.py b/conf/settings.py index 46ca24ed..6caba0e8 100644 --- a/conf/settings.py +++ b/conf/settings.py @@ -353,7 +353,16 @@ WAGTAIL_SITE_NAME = 'directory-cms' WAGTAIL_PASSWORD_RESET_ENABLED = False -WAGTAILMEDIA_MEDIA_MODEL = 'core.GreatMedia' + +WAGTAILMEDIA = { + "MEDIA_MODEL": "core.GreatMedia", # string, dotted-notation. Defaults to "wagtailmedia.Media" + "MEDIA_FORM_BASE": "", # string, dotted-notation. Defaults to an empty string + "AUDIO_EXTENSIONS": [], # list of extensions + "VIDEO_EXTENSIONS": [], # list of extensions +} + + +# WAGTAILMEDIA_MEDIA_MODEL = 'core.GreatMedia' WAGTAIL_EMAIL_MANAGEMENT_ENABLED = False BASE_URL = env.str('BASE_URL') diff --git a/makefile b/makefile index b4f99a02..f718c16e 100644 --- a/makefile +++ b/makefile @@ -15,6 +15,18 @@ pytest: --cov=. \ $(ARGUMENTS) + +# Usage: make pytest_single :: +pytest_single: + ENV_FILES=$(ENV_FILES) \ + pytest \ + $(ARGUMENTS) + --junit-xml=./results/pytest_unit_report.xml \ + --cov-config=.coveragerc \ + --cov-report=html \ + --cov=. \ + + pytest_codecov: ENV_FILES='test,dev' \ pytest \ diff --git a/tests/great_international/test_blocks.py b/tests/great_international/test_blocks.py index cd68840e..712f4cde 100644 --- a/tests/great_international/test_blocks.py +++ b/tests/great_international/test_blocks.py @@ -137,6 +137,7 @@ def test_video_block_get_api_representation(): block = GreatMediaBlock() block_response = block.get_api_representation(value=video) + assert block_response == { 'title': 'Test file', 'transcript': 'Test transcript', diff --git a/tests/great_international/test_serializers.py b/tests/great_international/test_serializers.py index 698d821b..981fc8de 100644 --- a/tests/great_international/test_serializers.py +++ b/tests/great_international/test_serializers.py @@ -509,6 +509,7 @@ def test_international_homepage_serializer(rf, international_root_page, image, t @pytest.mark.django_db def test_atlas_opportunity_serializer_video_fields(international_root_page, rf, test_video): + opportunity_page = InvestmentOpportunityPageFactory( parent=international_root_page, slug='opp', @@ -525,6 +526,7 @@ def test_atlas_opportunity_serializer_video_fields(international_root_page, rf, instance=opportunity_page, context={'request': rf.get('/')} ) + for video_field in [serialized_opportunity.data['intro_video'], serialized_opportunity.data['hero_video']]: assert video_field['title'] == test_video.title assert video_field['transcript'] == 'Test transcript note' From ff5c02bc3ff1fb83d9ed7211ddb8bfb87a29c19d Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Fri, 5 May 2023 09:37:22 +0100 Subject: [PATCH 03/12] Fix test --- core/models.py | 7 +++++-- .../pages/_preview_button_on_create.html | 1 - .../pages/_preview_button_on_edit.html | 1 - core/templates/wagtailadmin/shared/field.html | 19 ++++++++++++------- core/templatetags/__init__.py | 0 core/templatetags/core_tags.py | 9 +++++++++ core/wagtail_hooks.py | 4 ++-- requirements.in | 4 ++-- requirements.txt | 10 +++++----- requirements_test.txt | 10 +++++----- tests/core/test_wagtail_hooks.py | 3 ++- 11 files changed, 42 insertions(+), 26 deletions(-) delete mode 100644 core/templates/wagtailadmin/pages/_preview_button_on_create.html delete mode 100644 core/templates/wagtailadmin/pages/_preview_button_on_edit.html create mode 100644 core/templatetags/__init__.py create mode 100644 core/templatetags/core_tags.py diff --git a/core/models.py b/core/models.py index ec0e332c..1bc5627b 100644 --- a/core/models.py +++ b/core/models.py @@ -9,7 +9,7 @@ from modeltranslation.utils import build_localized_fieldname from modeltranslation.translator import translator from wagtail.admin.panels import FieldPanel, MultiFieldPanel -from wagtail.contrib.settings.models import BaseSetting, register_setting +from wagtail.contrib.settings.models import BaseSiteSetting, register_setting from wagtail.models import Page, PageBase, Site from django.core import signing @@ -90,7 +90,7 @@ class Breadcrumb(models.Model): @register_setting -class RoutingSettings(BaseSetting): +class RoutingSettings(BaseSiteSetting): root_path_prefix = models.CharField( blank=True, max_length=100, @@ -151,6 +151,9 @@ class Meta: # overrides page.slug when generating the url slug_override = None + # remove preview from all pages + preview_modes = [] + subpage_types = [] content_panels = [] promote_panels = [] diff --git a/core/templates/wagtailadmin/pages/_preview_button_on_create.html b/core/templates/wagtailadmin/pages/_preview_button_on_create.html deleted file mode 100644 index 8f457941..00000000 --- a/core/templates/wagtailadmin/pages/_preview_button_on_create.html +++ /dev/null @@ -1 +0,0 @@ -{# hide the preview button as it assumes wagtail serves the template #} diff --git a/core/templates/wagtailadmin/pages/_preview_button_on_edit.html b/core/templates/wagtailadmin/pages/_preview_button_on_edit.html deleted file mode 100644 index 8f457941..00000000 --- a/core/templates/wagtailadmin/pages/_preview_button_on_edit.html +++ /dev/null @@ -1 +0,0 @@ -{# hide the preview button as it assumes wagtail serves the template #} diff --git a/core/templates/wagtailadmin/shared/field.html b/core/templates/wagtailadmin/shared/field.html index c538fa37..41e53fef 100644 --- a/core/templates/wagtailadmin/shared/field.html +++ b/core/templates/wagtailadmin/shared/field.html @@ -1,10 +1,13 @@ {% load wagtailadmin_tags %} +{% load core_tags %}
{% if show_label|default_if_none:True %}{{ field.label_tag }}{% endif %}
{% block form_field %} - {{ field|render_with_errors }} + {% if field|not_string %} + {{ field|render_with_errors }} + {% endif %} {% endblock %} {# This span only used on rare occasions by certain types of input #} @@ -14,12 +17,14 @@

{{ field.help_text }}

{% endif %} - {% if field|has_unrendered_errors %} -

- {% for error in field.errors %} - {{ error|escape }} - {% endfor %} -

+ {% if field|not_string %} + {% if field|has_unrendered_errors %} +

+ {% for error in field.errors %} + {{ error|escape }} + {% endfor %} +

+ {% endif %} {% endif %}
diff --git a/core/templatetags/__init__.py b/core/templatetags/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/core/templatetags/core_tags.py b/core/templatetags/core_tags.py new file mode 100644 index 00000000..e3985313 --- /dev/null +++ b/core/templatetags/core_tags.py @@ -0,0 +1,9 @@ +from django import template + + +register = template.Library() + + +@register.filter("not_string") +def not_string(bound_field): + return isinstance(bound_field, str) \ No newline at end of file diff --git a/core/wagtail_hooks.py b/core/wagtail_hooks.py index 864de9b9..05341b41 100644 --- a/core/wagtail_hooks.py +++ b/core/wagtail_hooks.py @@ -27,8 +27,8 @@ def add_copy_button(page, page_perms, next_url=None, is_parent=False): @helpers.replace_hook('register_page_listing_buttons', page_listing_buttons) -def update_default_listing_buttons(page, page_perms, next_url=None, is_parent=False): - buttons = list(page_listing_buttons(page, page_perms, next_url, is_parent)) +def update_default_listing_buttons(page, page_perms, next_url=None): + buttons = list(page_listing_buttons(page, page_perms, next_url)) if isinstance(page, models.BasePage): for button in buttons: if helpers.get_button_url_name(button) == 'view_draft': diff --git a/requirements.in b/requirements.in index 9e04d25c..5e483f58 100644 --- a/requirements.in +++ b/requirements.in @@ -25,8 +25,8 @@ requests[security]==2.27.1 markdown==2.* bleach==3.* bleach-whitelist==0.* -wagtail==3.0.3 -wagtail-modeltranslation==0.12.0 +wagtail==4.0.4 +wagtail-modeltranslation==0.13.0 django-modeltranslation==0.18.2 urllib3==1.26.* w3lib==1.22 diff --git a/requirements.txt b/requirements.txt index 87afd8b1..f98d66f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ async-timeout==4.0.2 # via redis attrs==23.1.0 # via jsonschema -beautifulsoup4==4.9.3 +beautifulsoup4==4.11.2 # via # directory-components # wagtail @@ -100,7 +100,7 @@ django-celery-beat==2.2.1 # via -r requirements.in django-environ==0.10.0 # via -r requirements.in -django-filter==21.1 +django-filter==22.1 # via # -r requirements.in # wagtail @@ -124,7 +124,7 @@ django-staff-sso-client==4.1.1 # via -r requirements.in django-storages==1.13.2 # via -r requirements.in -django-taggit==2.1.0 +django-taggit==3.1.0 # via wagtail django-timezone-field==4.2.3 # via django-celery-beat @@ -271,12 +271,12 @@ vine==5.0.0 # kombu w3lib==1.22 # via -r requirements.in -wagtail==3.0.3 +wagtail==4.0.4 # via # -r requirements.in # wagtail-modeltranslation # wagtailmedia -wagtail-modeltranslation==0.12.0 +wagtail-modeltranslation==0.13.0 # via -r requirements.in wagtailmedia==0.12.0 # via -r requirements.in diff --git a/requirements_test.txt b/requirements_test.txt index 3a7e60ba..fef07a37 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -16,7 +16,7 @@ async-timeout==4.0.2 # via redis attrs==23.1.0 # via jsonschema -beautifulsoup4==4.9.3 +beautifulsoup4==4.11.2 # via # directory-components # wagtail @@ -113,7 +113,7 @@ django-debug-toolbar==3.2.4 # via -r requirements_test.in django-environ==0.10.0 # via -r requirements.in -django-filter==21.1 +django-filter==22.1 # via # -r requirements.in # wagtail @@ -137,7 +137,7 @@ django-staff-sso-client==4.1.1 # via -r requirements.in django-storages==1.13.2 # via -r requirements.in -django-taggit==2.1.0 +django-taggit==3.1.0 # via wagtail django-timezone-field==4.2.3 # via django-celery-beat @@ -357,7 +357,7 @@ vine==5.0.0 # kombu w3lib==1.22 # via -r requirements.in -wagtail==3.0.3 +wagtail==4.0.4 # via # -r requirements.in # wagtail-factories @@ -365,7 +365,7 @@ wagtail==3.0.3 # wagtailmedia wagtail-factories==2.0.1 # via -r requirements_test.in -wagtail-modeltranslation==0.12.0 +wagtail-modeltranslation==0.13.0 # via -r requirements.in wagtailmedia==0.12.0 # via -r requirements.in diff --git a/tests/core/test_wagtail_hooks.py b/tests/core/test_wagtail_hooks.py index 763f399e..f4de5634 100644 --- a/tests/core/test_wagtail_hooks.py +++ b/tests/core/test_wagtail_hooks.py @@ -10,11 +10,12 @@ @pytest.mark.django_db def test_update_default_listing_buttons_from_base_page(page_with_reversion): + buttons = wagtail_hooks.update_default_listing_buttons( page=page_with_reversion, page_perms=Mock() ) - assert len(buttons) == 5 + assert len(buttons) == 4 assert buttons[1].url == page_with_reversion.get_url(is_draft=True) From cafbf2b37b8fa6412ffbad51fd56af32f66e6d3f Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Fri, 5 May 2023 09:58:17 +0100 Subject: [PATCH 04/12] Fix test --- tests/core/test_wagtail_hooks.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/core/test_wagtail_hooks.py b/tests/core/test_wagtail_hooks.py index f4de5634..182965f2 100644 --- a/tests/core/test_wagtail_hooks.py +++ b/tests/core/test_wagtail_hooks.py @@ -10,13 +10,16 @@ @pytest.mark.django_db def test_update_default_listing_buttons_from_base_page(page_with_reversion): + import pdb buttons = wagtail_hooks.update_default_listing_buttons( page=page_with_reversion, page_perms=Mock() ) + expected_url = 'http://great.gov.uk/international/content/123-555-206/' assert len(buttons) == 4 - assert buttons[1].url == page_with_reversion.get_url(is_draft=True) + pdb;pdb.set_trace() + assert buttons[1].url == expected_url @pytest.mark.django_db From 74512b244f8856d96bb24de8ecd3d71fa83911b3 Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Fri, 5 May 2023 10:07:15 +0100 Subject: [PATCH 05/12] Initial Upgrade --- requirements.in | 2 +- requirements.txt | 14 +++----------- requirements_test.txt | 14 +++----------- users/urls.py | 4 ++-- 4 files changed, 9 insertions(+), 25 deletions(-) diff --git a/requirements.in b/requirements.in index 5e483f58..e3f32d88 100644 --- a/requirements.in +++ b/requirements.in @@ -25,7 +25,7 @@ requests[security]==2.27.1 markdown==2.* bleach==3.* bleach-whitelist==0.* -wagtail==4.0.4 +wagtail==4.1.5 wagtail-modeltranslation==0.13.0 django-modeltranslation==0.18.2 urllib3==1.26.* diff --git a/requirements.txt b/requirements.txt index f98d66f2..572909aa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -182,7 +182,7 @@ oauthlib==3.2.2 # -r requirements.in # requests-oauthlib openpyxl==3.1.2 - # via tablib + # via wagtail packaging==23.1 # via bleach pillow==9.5.0 @@ -229,7 +229,7 @@ requests[security]==2.27.1 # wagtail requests-oauthlib==1.3.1 # via django-staff-sso-client -s3transfer==0.6.0 +s3transfer==0.6.1 # via boto3 sentry-sdk==1.21.1 # via -r requirements.in @@ -251,8 +251,6 @@ soupsieve==2.4.1 # via beautifulsoup4 sqlparse==0.4.4 # via django -tablib[xls,xlsx]==3.4.0 - # via wagtail telepath==0.3 # via wagtail typing-extensions==4.5.0 @@ -271,7 +269,7 @@ vine==5.0.0 # kombu w3lib==1.22 # via -r requirements.in -wagtail==4.0.4 +wagtail==4.1.5 # via # -r requirements.in # wagtail-modeltranslation @@ -292,12 +290,6 @@ willow==1.4.1 # via wagtail wrapt==1.15.0 # via elastic-apm -xlrd==2.0.1 - # via tablib -xlsxwriter==3.1.0 - # via wagtail -xlwt==1.3.0 - # via tablib zope-event==4.6 # via gevent zope-interface==6.0 diff --git a/requirements_test.txt b/requirements_test.txt index fef07a37..e0035f63 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -216,7 +216,7 @@ oauthlib==3.2.2 # -r requirements.in # requests-oauthlib openpyxl==3.1.2 - # via tablib + # via wagtail packaging==23.1 # via # bleach @@ -301,7 +301,7 @@ requests-mock==1.10.0 # via -r requirements_test.in requests-oauthlib==1.3.1 # via django-staff-sso-client -s3transfer==0.6.0 +s3transfer==0.6.1 # via boto3 sentry-sdk==1.21.1 # via -r requirements.in @@ -329,8 +329,6 @@ sqlparse==0.4.4 # via # django # django-debug-toolbar -tablib[xls,xlsx]==3.4.0 - # via wagtail telepath==0.3 # via wagtail termcolor==2.3.0 @@ -357,7 +355,7 @@ vine==5.0.0 # kombu w3lib==1.22 # via -r requirements.in -wagtail==4.0.4 +wagtail==4.1.5 # via # -r requirements.in # wagtail-factories @@ -383,12 +381,6 @@ willow==1.4.1 # via wagtail wrapt==1.15.0 # via elastic-apm -xlrd==2.0.1 - # via tablib -xlsxwriter==3.1.0 - # via wagtail -xlwt==1.3.0 - # via tablib zope-event==4.6 # via gevent zope-interface==6.0 diff --git a/users/urls.py b/users/urls.py index 0d28690e..db7edb66 100644 --- a/users/urls.py +++ b/users/urls.py @@ -6,8 +6,8 @@ app_name = 'great_users' urlpatterns = [ - url(r'^$', original_users_views.index, name='index'), + url(r'^$', original_users_views.Index, name='index'), url(r'^add/$', views.CreateUserView.as_view(), name='add'), url(r'^(?P\d+)/$', views.EditUserView.as_view(), name='edit'), - url(r'^([^\/]+)/delete/$', original_users_views.delete, name='delete'), + url(r'^([^\/]+)/delete/$', original_users_views.Delete, name='delete'), ] From d28646892c2aae0d4566cae6382f374a6bc2bd13 Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Fri, 5 May 2023 20:55:41 +0100 Subject: [PATCH 06/12] Fixed tests --- core/models.py | 4 +- .../migrations/0160_auto_20230505_1933.py | 351 ++++++++++++++++++ requirements.txt | 2 +- requirements_test.txt | 2 +- tests/core/test_wagtail_hooks.py | 4 +- users/templates/sso/request_access.html | 4 +- 6 files changed, 357 insertions(+), 10 deletions(-) create mode 100644 great_international/migrations/0160_auto_20230505_1933.py diff --git a/core/models.py b/core/models.py index 1bc5627b..a3f0edf1 100644 --- a/core/models.py +++ b/core/models.py @@ -341,7 +341,7 @@ def serve(self, request, *args, **kwargs): return redirect(self.get_url()) def get_latest_nested_revision_as_page(self): - revision = self.get_latest_revision_as_page() + revision = self.get_latest_revision_as_object() foreign_key_names = [ field.name for field in revision._meta.get_fields() if isinstance(field, models.ForeignKey) @@ -349,7 +349,7 @@ def get_latest_nested_revision_as_page(self): for name in foreign_key_names: field = getattr(revision, name) if hasattr(field, 'get_latest_revision_as_page'): - setattr(revision, name, field.get_latest_revision_as_page()) + setattr(revision, name, field.get_latest_revision_as_object()) return revision @classmethod diff --git a/great_international/migrations/0160_auto_20230505_1933.py b/great_international/migrations/0160_auto_20230505_1933.py new file mode 100644 index 00000000..59b812e9 --- /dev/null +++ b/great_international/migrations/0160_auto_20230505_1933.py @@ -0,0 +1,351 @@ +# Generated by Django 3.2.18 on 2023-05-05 19:33 + +import core.blocks +from django.db import migrations +import great_international.blocks.great_international +import great_international.blocks.investment_atlas +import great_international.models.investment_atlas +import great_international.validators +import wagtail.blocks +import wagtail.fields +import wagtail.images.blocks + + +class Migration(migrations.Migration): + + dependencies = [ + ('great_international', '0159_added_hero_video_and_image_to_International_article_page'), + ] + + operations = [ + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_ar', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_de', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_en_gb', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_es', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_fr', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_ja', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_pt', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalhomepage', + name='homepage_link_panels_zh_hans', + field=wagtail.fields.StreamField([('link_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_ar', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_de', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_en_gb', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_es', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_fr', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_ja', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_pt', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='downpage_content_zh_hans', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_ar', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_de', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_en_gb', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_es', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_fr', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_ja', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_pt', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='early_opportunities_zh_hans', + field=wagtail.fields.StreamField([('early_opportunity', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='internationalinvestmentsectorpage', + name='manually_selected_related_opportunities', + field=wagtail.fields.StreamField([('related_opportunity', wagtail.blocks.PageChooserBlock(page_type=['great_international.InvestmentOpportunityPage']))], blank=True, help_text='Max 3 will be shown. If none is specified, three will be automatically chosen based on matching sector, their priority_weighting and most recent creation', null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_ar', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_de', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_en_gb', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_es', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_fr', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_ja', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_pt', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentatlaslandingpage', + name='downpage_sections_zh_hans', + field=wagtail.fields.StreamField([('panel', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(max_length=255, required=True)), ('main_text', wagtail.blocks.TextBlock(help_text='The first column of the panel')), ('call_to_action', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False)), ('second_column', wagtail.blocks.StreamBlock([('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))])), ('text', wagtail.blocks.TextBlock()), ('video', core.blocks.GreatMediaBlock())], help_text='An image OR a text block, but not both.', label='Second column of panel', max_num=1, required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text='If a block has special content, this helps us identify it. Consult with a developer when you set it. If in doubt, leave it blank.', max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-regions-map', the panel will show the regions map"))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_ar', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_de', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_en_gb', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_es', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_fr', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_ja', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_pt', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentgeneralcontentpage', + name='main_content_zh_hans', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('header', wagtail.blocks.CharBlock(max_length=255, required=False)), ('nested_content', wagtail.blocks.StreamBlock([('text', wagtail.blocks.StructBlock([('text', great_international.blocks.great_international.MarkdownBlock(required=False)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=False)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=False)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=False)), ('cta', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(max_length=255, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=False))], help_text='Set text for the CTA and either an internal or an external URL for its destination', required=False))], help_text="Use H3 headers or lower, not H2 or H1. To add an expandable/folding marker to the text, add a horizontal rule (--- with a blank line before and after it) where the 'More' button should be.")), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())]))], min_num=1))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_ar', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_de', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_en_gb', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_es', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_fr', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_ja', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_pt', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='main_content_zh_hans', + field=wagtail.fields.StreamField([('content_section', wagtail.blocks.StructBlock([('content', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], required=False)), ('block_slug', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))], help_text="If 'Block slug' is set to 'with-key-links', the 'Key links' panel is shown next to the text. If 'Block slug' is set to 'with-region-spotlight', the 'Region spotlight' panel is shown next to the text.")), ('snippet_content', great_international.blocks.investment_atlas.ReusableSnippetChooserBlock(great_international.models.investment_atlas.ReusableContentSection))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='investmentopportunitypage', + name='regions_with_locations', + field=wagtail.fields.StreamField([('location', wagtail.blocks.StructBlock([('region', wagtail.blocks.PageChooserBlock(label='Linked Region', page_type=['great_international.AboutUkRegionPage'], required=False)), ('map_coordinate', wagtail.blocks.CharBlock(help_text='Latitude and longitude Coordinates, e.g. 176.0944492, -38.50245621', label='Linked Location Coordinates', max_length=200, validators=[great_international.validators.validate_lat_long]))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='reusablecontentsection', + name='content', + field=wagtail.fields.StreamField([('text', great_international.blocks.great_international.MarkdownBlock()), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False)), ('custom_css_class', wagtail.blocks.CharBlock(help_text="Only needed if special styling is involved: check with a developer. If in doubt, it's not needed", max_length=255, required=False))])), ('columns', wagtail.blocks.StreamBlock([('text', great_international.blocks.great_international.MarkdownBlock())], help_text='Smaller snippets of content'))], use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_ar', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_de', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_en_gb', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_es', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_fr', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_ja', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_pt', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + migrations.AlterField( + model_name='whyinvestintheukpage', + name='uk_strength_panels_zh_hans', + field=wagtail.fields.StreamField([('article_panel', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(max_length=255, required=True)), ('supporting_text', wagtail.blocks.TextBlock(max_length=1000, required=False)), ('link', wagtail.blocks.StructBlock([('internal_link', wagtail.blocks.PageChooserBlock(label='Internal link', required=False)), ('external_link', wagtail.blocks.CharBlock(label='External link', max_length=255, required=False))], required=True)), ('image', wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(required=True)), ('image_alt', wagtail.blocks.CharBlock(max_length=255, required=True)), ('caption', wagtail.blocks.CharBlock(max_length=255, required=False))], required=True))]))], blank=True, null=True, use_json_field=True), + ), + ] diff --git a/requirements.txt b/requirements.txt index 572909aa..13593cbf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -231,7 +231,7 @@ requests-oauthlib==1.3.1 # via django-staff-sso-client s3transfer==0.6.1 # via boto3 -sentry-sdk==1.21.1 +sentry-sdk==1.22.1 # via -r requirements.in sigauth==5.1.1 # via -r requirements.in diff --git a/requirements_test.txt b/requirements_test.txt index e0035f63..4086ef6b 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -303,7 +303,7 @@ requests-oauthlib==1.3.1 # via django-staff-sso-client s3transfer==0.6.1 # via boto3 -sentry-sdk==1.21.1 +sentry-sdk==1.22.1 # via -r requirements.in sigauth==5.1.1 # via -r requirements.in diff --git a/tests/core/test_wagtail_hooks.py b/tests/core/test_wagtail_hooks.py index 182965f2..3caf828f 100644 --- a/tests/core/test_wagtail_hooks.py +++ b/tests/core/test_wagtail_hooks.py @@ -10,15 +10,13 @@ @pytest.mark.django_db def test_update_default_listing_buttons_from_base_page(page_with_reversion): - import pdb - buttons = wagtail_hooks.update_default_listing_buttons( page=page_with_reversion, page_perms=Mock() ) expected_url = 'http://great.gov.uk/international/content/123-555-206/' assert len(buttons) == 4 - pdb;pdb.set_trace() + assert buttons[1].url == expected_url diff --git a/users/templates/sso/request_access.html b/users/templates/sso/request_access.html index 5446fdde..2d9cd872 100644 --- a/users/templates/sso/request_access.html +++ b/users/templates/sso/request_access.html @@ -1,15 +1,13 @@ -{% extends "wagtailadmin/base.html" %} +{% extends "wagtailadmin/generic/edit.html" %} {% load i18n static %} {% block titletag %}{% trans "Welcome to Wagtail!" %}{% endblock %} {% block extra_css %} - {% include "wagtailadmin/pages/_editor_css.html" %} {{ form.media.css }} {% endblock %} {% block extra_js %} - {% include "wagtailadmin/pages/_editor_js.html" %} {{ form.media.js }} {% endblock %} From feb33d39159ee435c44f6599fb27c74a76bd7acc Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Mon, 8 May 2023 15:06:56 +0100 Subject: [PATCH 07/12] wagtailcore_pagerevision now wagtailcore_revision --- db_fixtures.sql | 60 ++++++++++++++++++++++++------------------------- db_template.sql | 60 ++++++++++++++++++++++++------------------------- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/db_fixtures.sql b/db_fixtures.sql index fb20e3db..ce6549d9 100644 --- a/db_fixtures.sql +++ b/db_fixtures.sql @@ -12285,14 +12285,14 @@ ALTER SEQUENCE public.wagtailcore_page_id_seq OWNED BY public.wagtailcore_page.i -- --- Name: wagtailcore_pagerevision; Type: TABLE; Schema: public; Owner: - +-- Name: wagtailcore_revision; Type: TABLE; Schema: public; Owner: - -- -CREATE TABLE public.wagtailcore_pagerevision ( +CREATE TABLE public.wagtailcore_revision ( id integer NOT NULL, submitted_for_moderation boolean NOT NULL, created_at timestamp with time zone NOT NULL, - content_json text NOT NULL, + content text NOT NULL, approved_go_live_at timestamp with time zone, page_id integer NOT NULL, user_id integer @@ -12300,10 +12300,10 @@ CREATE TABLE public.wagtailcore_pagerevision ( -- --- Name: wagtailcore_pagerevision_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- Name: wagtailcore_revision_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE public.wagtailcore_pagerevision_id_seq +CREATE SEQUENCE public.wagtailcore_revision_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -12312,10 +12312,10 @@ CREATE SEQUENCE public.wagtailcore_pagerevision_id_seq -- --- Name: wagtailcore_pagerevision_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- Name: wagtailcore_revision_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE public.wagtailcore_pagerevision_id_seq OWNED BY public.wagtailcore_pagerevision.id; +ALTER SEQUENCE public.wagtailcore_revision_id_seq OWNED BY public.wagtailcore_revision.id; -- @@ -13089,10 +13089,10 @@ ALTER TABLE ONLY public.wagtailcore_page ALTER COLUMN id SET DEFAULT nextval('pu -- --- Name: wagtailcore_pagerevision id; Type: DEFAULT; Schema: public; Owner: - +-- Name: wagtailcore_revision id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision ALTER COLUMN id SET DEFAULT nextval('public.wagtailcore_pagerevision_id_seq'::regclass); +ALTER TABLE ONLY public.wagtailcore_revision ALTER COLUMN id SET DEFAULT nextval('public.wagtailcore_revision_id_seq'::regclass); -- @@ -15322,10 +15322,10 @@ COPY public.wagtailcore_page (id, path, depth, numchild, title, slug, live, has_ -- --- Data for Name: wagtailcore_pagerevision; Type: TABLE DATA; Schema: public; Owner: - +-- Data for Name: wagtailcore_revision; Type: TABLE DATA; Schema: public; Owner: - -- -COPY public.wagtailcore_pagerevision (id, submitted_for_moderation, created_at, content_json, approved_go_live_at, page_id, user_id) FROM stdin; +COPY public.wagtailcore_revision (id, submitted_for_moderation, created_at, content, approved_go_live_at, page_id, user_id) FROM stdin; 2 f 2019-09-16 13:28:41.244+01 {"pk": 4, "path": "000100020001", "depth": 3, "numchild": 0, "title": "Advice", "title_en_gb": "Advice", "title_de": null, "title_ja": null, "title_zh_hans": null, "title_fr": null, "title_es": null, "title_pt": null, "title_ar": null, "draft_title": "Advice", "slug": "advice", "content_type": 52, "live": true, "has_unpublished_changes": false, "url_path": "/great-domestic-home/advice/", "owner": 1, "seo_title": "", "seo_title_en_gb": "", "seo_title_de": null, "seo_title_ja": null, "seo_title_zh_hans": null, "seo_title_fr": null, "seo_title_es": null, "seo_title_pt": null, "seo_title_ar": null, "show_in_menus": false, "search_description": "", "search_description_en_gb": "", "search_description_de": null, "search_description_ja": null, "search_description_zh_hans": null, "search_description_fr": null, "search_description_es": null, "search_description_pt": null, "search_description_ar": null, "go_live_at": null, "expire_at": null, "expired": false, "locked": false, "first_published_at": null, "last_published_at": null, "latest_revision_created_at": null, "live_revision": null, "service_name": "EXPORT_READINESS", "uses_tree_based_routing": false, "landing_page_title": "Advice", "hero_image": 1, "hero_teaser": null, "banner_text": "", "teaser": ""} \N 4 1 3 f 2019-09-16 13:29:21.034+01 {"pk": 5, "path": "0001000200010001", "depth": 4, "numchild": 0, "title": "Article listing page", "title_en_gb": "Article listing page", "title_de": null, "title_ja": null, "title_zh_hans": null, "title_fr": null, "title_es": null, "title_pt": null, "title_ar": null, "draft_title": "Article listing page", "slug": "article-listing-page", "content_type": 50, "live": true, "has_unpublished_changes": false, "url_path": "/great-domestic-home/advice/article-listing-page/", "owner": 1, "seo_title": "", "seo_title_en_gb": "", "seo_title_de": null, "seo_title_ja": null, "seo_title_zh_hans": null, "seo_title_fr": null, "seo_title_es": null, "seo_title_pt": null, "seo_title_ar": null, "show_in_menus": false, "search_description": "", "search_description_en_gb": "", "search_description_de": null, "search_description_ja": null, "search_description_zh_hans": null, "search_description_fr": null, "search_description_es": null, "search_description_pt": null, "search_description_ar": null, "go_live_at": null, "expire_at": null, "expired": false, "locked": false, "first_published_at": null, "last_published_at": null, "latest_revision_created_at": null, "live_revision": null, "service_name": "EXPORT_READINESS", "uses_tree_based_routing": false, "landing_page_title": "Article listing page", "hero_image": 1, "hero_teaser": null, "list_teaser": ""} \N 5 1 4 f 2019-09-16 13:31:20.418+01 {"pk": 6, "path": "00010002000100010001", "depth": 5, "numchild": 0, "title": "Example advice article", "title_en_gb": "Example advice article", "title_de": null, "title_ja": null, "title_zh_hans": null, "title_fr": null, "title_es": null, "title_pt": null, "title_ar": null, "draft_title": "Example advice article", "slug": "example-advice-article", "content_type": 51, "live": true, "has_unpublished_changes": false, "url_path": "/great-domestic-home/advice/article-listing-page/example-advice-article/", "owner": 1, "seo_title": "", "seo_title_en_gb": "", "seo_title_de": null, "seo_title_ja": null, "seo_title_zh_hans": null, "seo_title_fr": null, "seo_title_es": null, "seo_title_pt": null, "seo_title_ar": null, "show_in_menus": false, "search_description": "", "search_description_en_gb": "", "search_description_de": null, "search_description_ja": null, "search_description_zh_hans": null, "search_description_fr": null, "search_description_es": null, "search_description_pt": null, "search_description_ar": null, "go_live_at": null, "expire_at": null, "expired": false, "locked": false, "first_published_at": null, "last_published_at": null, "latest_revision_created_at": null, "live_revision": null, "service_name": "EXPORT_READINESS", "uses_tree_based_routing": false, "type_of_article": "Advice", "article_title": "Example advice article", "article_subheading": "Article subheading", "article_teaser": "Article teaser", "article_image": 1, "article_video": null, "article_body_text": "Bacon ipsum dolor amet cow ham tail bacon, brisket shank turkey hamburger buffalo picanha pork loin filet mignon jowl flank pancetta. Biltong cow flank buffalo tri-tip chicken burgdoggen. Boudin flank jerky shank tenderloin, bacon biltong cow burgdoggen. Pork chop short ribs pork belly corned beef pancetta brisket, beef doner chicken cow rump venison tenderloin porchetta.\r\n\r\nSwine pork loin t-bone alcatra, drumstick ham turducken venison ham hock flank pork. Corned beef turducken leberkas landjaeger. Pig venison pork chop ribeye jerky biltong buffalo prosciutto hamburger porchetta sirloin pancetta andouille. Shank hamburger fatback pancetta. Chuck t-bone pork belly filet mignon shoulder, leberkas picanha pork corned beef. Turkey venison alcatra pork chop fatback shoulder. Jerky biltong kevin ham hock porchetta tail sirloin fatback rump beef.\r\n\r\nBeef porchetta biltong t-bone. Kevin venison andouille jowl pancetta pig. Swine meatloaf tenderloin burgdoggen pork loin kevin. Pork loin short ribs short loin salami sausage beef ribs shoulder landjaeger brisket pig tri-tip kevin cupim bacon. Short loin boudin t-bone, spare ribs ball tip ribeye alcatra burgdoggen kevin chicken cupim. Ground round picanha shank, jowl beef ribs sirloin short ribs turducken sausage bacon pancetta drumstick capicola bresaola. Boudin meatball jerky chicken frankfurter rump.\r\n\r\nCorned beef alcatra chuck pork meatball pork chop. Pastrami pig ham, landjaeger meatloaf tongue tail tri-tip flank beef ribs brisket. Pork belly pork fatback meatloaf turducken doner tongue drumstick bacon. Swine kevin landjaeger drumstick pork chop hamburger pancetta doner biltong tenderloin corned beef shankle short loin jowl ham hock.\r\n\r\nBuffalo pig filet mignon beef ribs landjaeger pork chop turkey pork spare ribs pastrami tenderloin pancetta. Shoulder meatball leberkas landjaeger alcatra. Leberkas buffalo cow ground round. Salami bresaola turducken cow tri-tip, pork shank burgdoggen boudin pork belly hamburger pork loin shoulder jerky. Capicola buffalo short loin sirloin pork chop kevin ribeye short ribs prosciutto swine picanha chuck chicken cow ham. Cow capicola pork, beef drumstick doner jerky rump ground round. Meatball frankfurter tri-tip, kielbasa filet mignon ham cupim hamburger.", "cta_title": "CTA title", "cta_teaser": "CTA teaser", "cta_link_label": "CTA link", "cta_link": "/contact", "related_page_one": null, "related_page_two": null, "related_page_three": null, "tags": []} \N 6 1 @@ -15832,10 +15832,10 @@ SELECT pg_catalog.setval('public.wagtailcore_page_id_seq', 29, true); -- --- Name: wagtailcore_pagerevision_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- Name: wagtailcore_revision_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - -- -SELECT pg_catalog.setval('public.wagtailcore_pagerevision_id_seq', 56, true); +SELECT pg_catalog.setval('public.wagtailcore_revision_id_seq', 56, true); -- @@ -17162,11 +17162,11 @@ ALTER TABLE ONLY public.wagtailcore_page -- --- Name: wagtailcore_pagerevision wagtailcore_pagerevision_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- Name: wagtailcore_revision wagtailcore_revision_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision - ADD CONSTRAINT wagtailcore_pagerevision_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.wagtailcore_revision + ADD CONSTRAINT wagtailcore_revision_pkey PRIMARY KEY (id); -- @@ -33703,31 +33703,31 @@ CREATE INDEX wagtailcore_page_slug_e7c11b8f_like ON public.wagtailcore_page USIN -- --- Name: wagtailcore_pagerevision_created_at_66954e3b; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_created_at_66954e3b; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_created_at_66954e3b ON public.wagtailcore_pagerevision USING btree (created_at); +CREATE INDEX wagtailcore_revision_created_at_66954e3b ON public.wagtailcore_revision USING btree (created_at); -- --- Name: wagtailcore_pagerevision_page_id_d421cc1d; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_page_id_d421cc1d; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_page_id_d421cc1d ON public.wagtailcore_pagerevision USING btree (page_id); +CREATE INDEX wagtailcore_revision_page_id_d421cc1d ON public.wagtailcore_revision USING btree (page_id); -- --- Name: wagtailcore_pagerevision_submitted_for_moderation_c682e44c; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_submitted_for_moderation_c682e44c; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_submitted_for_moderation_c682e44c ON public.wagtailcore_pagerevision USING btree (submitted_for_moderation); +CREATE INDEX wagtailcore_revision_submitted_for_moderation_c682e44c ON public.wagtailcore_revision USING btree (submitted_for_moderation); -- --- Name: wagtailcore_pagerevision_user_id_2409d2f4; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_user_id_2409d2f4; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_user_id_2409d2f4 ON public.wagtailcore_pagerevision USING btree (user_id); +CREATE INDEX wagtailcore_revision_user_id_2409d2f4 ON public.wagtailcore_revision USING btree (user_id); -- @@ -51842,7 +51842,7 @@ ALTER TABLE ONLY public.wagtailcore_page -- ALTER TABLE ONLY public.wagtailcore_page - ADD CONSTRAINT wagtailcore_page_live_revision_id_930bd822_fk_wagtailco FOREIGN KEY (live_revision_id) REFERENCES public.wagtailcore_pagerevision(id) DEFERRABLE INITIALLY DEFERRED; + ADD CONSTRAINT wagtailcore_page_live_revision_id_930bd822_fk_wagtailco FOREIGN KEY (live_revision_id) REFERENCES public.wagtailcore_revision(id) DEFERRABLE INITIALLY DEFERRED; -- @@ -51854,19 +51854,19 @@ ALTER TABLE ONLY public.wagtailcore_page -- --- Name: wagtailcore_pagerevision wagtailcore_pagerevi_page_id_d421cc1d_fk_wagtailco; Type: FK CONSTRAINT; Schema: public; Owner: - +-- Name: wagtailcore_revision wagtailcore_pagerevi_page_id_d421cc1d_fk_wagtailco; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision +ALTER TABLE ONLY public.wagtailcore_revision ADD CONSTRAINT wagtailcore_pagerevi_page_id_d421cc1d_fk_wagtailco FOREIGN KEY (page_id) REFERENCES public.wagtailcore_page(id) DEFERRABLE INITIALLY DEFERRED; -- --- Name: wagtailcore_pagerevision wagtailcore_pagerevision_user_id_2409d2f4_fk_auth_user_id; Type: FK CONSTRAINT; Schema: public; Owner: - +-- Name: wagtailcore_revision wagtailcore_revision_user_id_2409d2f4_fk_auth_user_id; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision - ADD CONSTRAINT wagtailcore_pagerevision_user_id_2409d2f4_fk_auth_user_id FOREIGN KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY DEFERRED; +ALTER TABLE ONLY public.wagtailcore_revision + ADD CONSTRAINT wagtailcore_revision_user_id_2409d2f4_fk_auth_user_id FOREIGN KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY DEFERRED; -- diff --git a/db_template.sql b/db_template.sql index 09d713e9..9560eda3 100644 --- a/db_template.sql +++ b/db_template.sql @@ -12595,14 +12595,14 @@ ALTER SEQUENCE public.wagtailcore_page_id_seq OWNED BY public.wagtailcore_page.i -- --- Name: wagtailcore_pagerevision; Type: TABLE; Schema: public; Owner: - +-- Name: wagtailcore_revision; Type: TABLE; Schema: public; Owner: - -- -CREATE TABLE public.wagtailcore_pagerevision ( +CREATE TABLE public.wagtailcore_revision ( id integer NOT NULL, submitted_for_moderation boolean NOT NULL, created_at timestamp with time zone NOT NULL, - content_json text NOT NULL, + content text NOT NULL, approved_go_live_at timestamp with time zone, page_id integer NOT NULL, user_id integer @@ -12610,10 +12610,10 @@ CREATE TABLE public.wagtailcore_pagerevision ( -- --- Name: wagtailcore_pagerevision_id_seq; Type: SEQUENCE; Schema: public; Owner: - +-- Name: wagtailcore_revision_id_seq; Type: SEQUENCE; Schema: public; Owner: - -- -CREATE SEQUENCE public.wagtailcore_pagerevision_id_seq +CREATE SEQUENCE public.wagtailcore_revision_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE @@ -12622,10 +12622,10 @@ CREATE SEQUENCE public.wagtailcore_pagerevision_id_seq -- --- Name: wagtailcore_pagerevision_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - +-- Name: wagtailcore_revision_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: - -- -ALTER SEQUENCE public.wagtailcore_pagerevision_id_seq OWNED BY public.wagtailcore_pagerevision.id; +ALTER SEQUENCE public.wagtailcore_revision_id_seq OWNED BY public.wagtailcore_revision.id; -- @@ -13413,10 +13413,10 @@ ALTER TABLE ONLY public.wagtailcore_page ALTER COLUMN id SET DEFAULT nextval('pu -- --- Name: wagtailcore_pagerevision id; Type: DEFAULT; Schema: public; Owner: - +-- Name: wagtailcore_revision id; Type: DEFAULT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision ALTER COLUMN id SET DEFAULT nextval('public.wagtailcore_pagerevision_id_seq'::regclass); +ALTER TABLE ONLY public.wagtailcore_revision ALTER COLUMN id SET DEFAULT nextval('public.wagtailcore_revision_id_seq'::regclass); -- @@ -15769,10 +15769,10 @@ COPY public.wagtailcore_page (id, path, depth, numchild, title, slug, live, has_ -- --- Data for Name: wagtailcore_pagerevision; Type: TABLE DATA; Schema: public; Owner: - +-- Data for Name: wagtailcore_revision; Type: TABLE DATA; Schema: public; Owner: - -- -COPY public.wagtailcore_pagerevision (id, submitted_for_moderation, created_at, content_json, approved_go_live_at, page_id, user_id) FROM stdin; +COPY public.wagtailcore_revision (id, submitted_for_moderation, created_at, content, approved_go_live_at, page_id, user_id) FROM stdin; \. @@ -16218,10 +16218,10 @@ SELECT pg_catalog.setval('public.wagtailcore_page_id_seq', 2, true); -- --- Name: wagtailcore_pagerevision_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - +-- Name: wagtailcore_revision_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - -- -SELECT pg_catalog.setval('public.wagtailcore_pagerevision_id_seq', 1, false); +SELECT pg_catalog.setval('public.wagtailcore_revision_id_seq', 1, false); -- @@ -17596,11 +17596,11 @@ ALTER TABLE ONLY public.wagtailcore_page -- --- Name: wagtailcore_pagerevision wagtailcore_pagerevision_pkey; Type: CONSTRAINT; Schema: public; Owner: - +-- Name: wagtailcore_revision wagtailcore_revision_pkey; Type: CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision - ADD CONSTRAINT wagtailcore_pagerevision_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.wagtailcore_revision + ADD CONSTRAINT wagtailcore_revision_pkey PRIMARY KEY (id); -- @@ -34242,31 +34242,31 @@ CREATE INDEX wagtailcore_page_slug_e7c11b8f_like ON public.wagtailcore_page USIN -- --- Name: wagtailcore_pagerevision_created_at_66954e3b; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_created_at_66954e3b; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_created_at_66954e3b ON public.wagtailcore_pagerevision USING btree (created_at); +CREATE INDEX wagtailcore_revision_created_at_66954e3b ON public.wagtailcore_revision USING btree (created_at); -- --- Name: wagtailcore_pagerevision_page_id_d421cc1d; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_page_id_d421cc1d; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_page_id_d421cc1d ON public.wagtailcore_pagerevision USING btree (page_id); +CREATE INDEX wagtailcore_revision_page_id_d421cc1d ON public.wagtailcore_revision USING btree (page_id); -- --- Name: wagtailcore_pagerevision_submitted_for_moderation_c682e44c; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_submitted_for_moderation_c682e44c; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_submitted_for_moderation_c682e44c ON public.wagtailcore_pagerevision USING btree (submitted_for_moderation); +CREATE INDEX wagtailcore_revision_submitted_for_moderation_c682e44c ON public.wagtailcore_revision USING btree (submitted_for_moderation); -- --- Name: wagtailcore_pagerevision_user_id_2409d2f4; Type: INDEX; Schema: public; Owner: - +-- Name: wagtailcore_revision_user_id_2409d2f4; Type: INDEX; Schema: public; Owner: - -- -CREATE INDEX wagtailcore_pagerevision_user_id_2409d2f4 ON public.wagtailcore_pagerevision USING btree (user_id); +CREATE INDEX wagtailcore_revision_user_id_2409d2f4 ON public.wagtailcore_revision USING btree (user_id); -- @@ -52469,7 +52469,7 @@ ALTER TABLE ONLY public.wagtailcore_page -- ALTER TABLE ONLY public.wagtailcore_page - ADD CONSTRAINT wagtailcore_page_live_revision_id_930bd822_fk_wagtailco FOREIGN KEY (live_revision_id) REFERENCES public.wagtailcore_pagerevision(id) DEFERRABLE INITIALLY DEFERRED; + ADD CONSTRAINT wagtailcore_page_live_revision_id_930bd822_fk_wagtailco FOREIGN KEY (live_revision_id) REFERENCES public.wagtailcore_revision(id) DEFERRABLE INITIALLY DEFERRED; -- @@ -52481,19 +52481,19 @@ ALTER TABLE ONLY public.wagtailcore_page -- --- Name: wagtailcore_pagerevision wagtailcore_pagerevi_page_id_d421cc1d_fk_wagtailco; Type: FK CONSTRAINT; Schema: public; Owner: - +-- Name: wagtailcore_revision wagtailcore_pagerevi_page_id_d421cc1d_fk_wagtailco; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision +ALTER TABLE ONLY public.wagtailcore_revision ADD CONSTRAINT wagtailcore_pagerevi_page_id_d421cc1d_fk_wagtailco FOREIGN KEY (page_id) REFERENCES public.wagtailcore_page(id) DEFERRABLE INITIALLY DEFERRED; -- --- Name: wagtailcore_pagerevision wagtailcore_pagerevision_user_id_2409d2f4_fk_auth_user_id; Type: FK CONSTRAINT; Schema: public; Owner: - +-- Name: wagtailcore_revision wagtailcore_revision_user_id_2409d2f4_fk_auth_user_id; Type: FK CONSTRAINT; Schema: public; Owner: - -- -ALTER TABLE ONLY public.wagtailcore_pagerevision - ADD CONSTRAINT wagtailcore_pagerevision_user_id_2409d2f4_fk_auth_user_id FOREIGN KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY DEFERRED; +ALTER TABLE ONLY public.wagtailcore_revision + ADD CONSTRAINT wagtailcore_revision_user_id_2409d2f4_fk_auth_user_id FOREIGN KEY (user_id) REFERENCES public.auth_user(id) DEFERRABLE INITIALLY DEFERRED; -- From 58a9c07202c4e23d7095c63efeed1e18175c46ea Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Mon, 8 May 2023 18:31:28 +0100 Subject: [PATCH 08/12] Fixed bug --- core/templates/wagtailadmin/shared/field.html | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/core/templates/wagtailadmin/shared/field.html b/core/templates/wagtailadmin/shared/field.html index 41e53fef..c538fa37 100644 --- a/core/templates/wagtailadmin/shared/field.html +++ b/core/templates/wagtailadmin/shared/field.html @@ -1,13 +1,10 @@ {% load wagtailadmin_tags %} -{% load core_tags %}
{% if show_label|default_if_none:True %}{{ field.label_tag }}{% endif %}
{% block form_field %} - {% if field|not_string %} - {{ field|render_with_errors }} - {% endif %} + {{ field|render_with_errors }} {% endblock %} {# This span only used on rare occasions by certain types of input #} @@ -17,14 +14,12 @@

{{ field.help_text }}

{% endif %} - {% if field|not_string %} - {% if field|has_unrendered_errors %} -

- {% for error in field.errors %} - {{ error|escape }} - {% endfor %} -

- {% endif %} + {% if field|has_unrendered_errors %} +

+ {% for error in field.errors %} + {{ error|escape }} + {% endfor %} +

{% endif %}
From 50d6289bbf4b09f8eae40f7606b4ffcd577e5893 Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Mon, 8 May 2023 22:31:09 +0100 Subject: [PATCH 09/12] Fixed test --- core/templates/wagtailadmin/shared/field.html | 19 ++++++++++++------- core/templatetags/core_tags.py | 6 +++--- core/views.py | 2 +- tests/core/test_forms.py | 10 +++++----- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/core/templates/wagtailadmin/shared/field.html b/core/templates/wagtailadmin/shared/field.html index c538fa37..9473d42f 100644 --- a/core/templates/wagtailadmin/shared/field.html +++ b/core/templates/wagtailadmin/shared/field.html @@ -1,10 +1,13 @@ {% load wagtailadmin_tags %} +{% load core_tags %}
{% if show_label|default_if_none:True %}{{ field.label_tag }}{% endif %}
{% block form_field %} - {{ field|render_with_errors }} + {% if field|can_render %} + {{ field|render_with_errors }} + {% endif %} {% endblock %} {# This span only used on rare occasions by certain types of input #} @@ -14,12 +17,14 @@

{{ field.help_text }}

{% endif %} - {% if field|has_unrendered_errors %} -

- {% for error in field.errors %} - {{ error|escape }} - {% endfor %} -

+ {% if field|can_render %} + {% if field|has_unrendered_errors %} +

+ {% for error in field.errors %} + {{ error|escape }} + {% endfor %} +

+ {% endif %} {% endif %}
diff --git a/core/templatetags/core_tags.py b/core/templatetags/core_tags.py index e3985313..5a20e771 100644 --- a/core/templatetags/core_tags.py +++ b/core/templatetags/core_tags.py @@ -4,6 +4,6 @@ register = template.Library() -@register.filter("not_string") -def not_string(bound_field): - return isinstance(bound_field, str) \ No newline at end of file +@register.filter("can_render") +def can_render(bound_field): + return hasattr(bound_field, 'field') \ No newline at end of file diff --git a/core/views.py b/core/views.py index 30f1ab2b..b2bf4e40 100644 --- a/core/views.py +++ b/core/views.py @@ -370,7 +370,7 @@ def get_context_data(self, form): instance=self.page, parent_page=self.parent_page, ) - edit_handler = edit_handler.bind_to( + edit_handler = edit_handler.get_bound_panel( instance=self.page, form=form, request=self.request diff --git a/tests/core/test_forms.py b/tests/core/test_forms.py index 8902c3ec..2820a0c6 100644 --- a/tests/core/test_forms.py +++ b/tests/core/test_forms.py @@ -15,7 +15,7 @@ def test_required_for_language(translated_page, settings, rf): edit_handler = translated_page.get_edit_handler() form_class = edit_handler.get_form_class() form = form_class() - edit_handler.bind_to( + edit_handler.get_bound_panel( instance=translated_page, form=form, request=rf @@ -41,7 +41,7 @@ def test_slug_read_only_when_editing_a_page(translated_page, rf): edit_handler = translated_page.get_edit_handler() form_class = edit_handler.get_form_class() form = form_class(instance=translated_page) - edit_handler.bind_to( + edit_handler.get_bound_panel( instance=translated_page, form=form, request=rf @@ -57,7 +57,7 @@ def test_slug_editable_when_creating_a_page(translated_page, rf): edit_handler = translated_page.get_edit_handler() form_class = edit_handler.get_form_class() form = form_class() - edit_handler.bind_to( + edit_handler.get_bound_panel( instance=translated_page, form=form, request=rf.get(path='/') @@ -74,7 +74,7 @@ def test_wagtailadminexclusivepageform_when_slug_identity_set_on_model(rf): form = form_class() assert isinstance(form, forms.WagtailAdminPageExclusivePageForm) - edit_handler.bind_to( + edit_handler.get_bound_panel( instance=InternationalHomePage(), form=form, request=rf.get(path='/') @@ -97,7 +97,7 @@ def test_wagtailadminexclusivepageform_when_slug_identity_not_set_on_model(rf): form = form_class() assert isinstance(form, forms.WagtailAdminPageExclusivePageForm) - edit_handler.bind_to( + edit_handler.get_bound_panel( instance=InternationalHomePage(), form=form, request=rf.get('/') From bbc913bb08c7c83e6149d1bcac28afb6d9d74aa9 Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Tue, 9 May 2023 14:52:52 +0100 Subject: [PATCH 10/12] Fix Flake8 issues --- core/templatetags/core_tags.py | 2 +- great_international/panels/great_international.py | 2 +- tests/core/test_wagtail_hooks.py | 1 - tests/great_international/test_serializers.py | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/core/templatetags/core_tags.py b/core/templatetags/core_tags.py index 5a20e771..dd61f8a9 100644 --- a/core/templatetags/core_tags.py +++ b/core/templatetags/core_tags.py @@ -6,4 +6,4 @@ @register.filter("can_render") def can_render(bound_field): - return hasattr(bound_field, 'field') \ No newline at end of file + return hasattr(bound_field, 'field') diff --git a/great_international/panels/great_international.py b/great_international/panels/great_international.py index 7643a3b8..eff66e41 100644 --- a/great_international/panels/great_international.py +++ b/great_international/panels/great_international.py @@ -1303,7 +1303,7 @@ class InternationalInvestmentSectorPagePanels: FieldRowPanel( heading='Related Opportunities', children=[ - FieldPanel ('manually_selected_related_opportunities'), + FieldPanel('manually_selected_related_opportunities'), ] ), ] diff --git a/tests/core/test_wagtail_hooks.py b/tests/core/test_wagtail_hooks.py index 3caf828f..73b5470c 100644 --- a/tests/core/test_wagtail_hooks.py +++ b/tests/core/test_wagtail_hooks.py @@ -16,7 +16,6 @@ def test_update_default_listing_buttons_from_base_page(page_with_reversion): expected_url = 'http://great.gov.uk/international/content/123-555-206/' assert len(buttons) == 4 - assert buttons[1].url == expected_url diff --git a/tests/great_international/test_serializers.py b/tests/great_international/test_serializers.py index 981fc8de..6963da73 100644 --- a/tests/great_international/test_serializers.py +++ b/tests/great_international/test_serializers.py @@ -509,7 +509,6 @@ def test_international_homepage_serializer(rf, international_root_page, image, t @pytest.mark.django_db def test_atlas_opportunity_serializer_video_fields(international_root_page, rf, test_video): - opportunity_page = InvestmentOpportunityPageFactory( parent=international_root_page, slug='opp', From c80cbfd6837d82e7ffadc0e23caee841e972ae0a Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Tue, 9 May 2023 18:40:28 +0100 Subject: [PATCH 11/12] Added two tests to improve code coverage --- core/wagtail_hooks.py | 4 ++-- tests/core/test_wagtail_hooks.py | 15 +++++++++++++++ tests/export_readiness/test_snippets.py | 9 +++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 tests/export_readiness/test_snippets.py diff --git a/core/wagtail_hooks.py b/core/wagtail_hooks.py index 05341b41..b27fbdc8 100644 --- a/core/wagtail_hooks.py +++ b/core/wagtail_hooks.py @@ -27,11 +27,11 @@ def add_copy_button(page, page_perms, next_url=None, is_parent=False): @helpers.replace_hook('register_page_listing_buttons', page_listing_buttons) -def update_default_listing_buttons(page, page_perms, next_url=None): +def update_default_listing_buttons(page, page_perms, next_url=None, button_url_name=None): buttons = list(page_listing_buttons(page, page_perms, next_url)) if isinstance(page, models.BasePage): for button in buttons: - if helpers.get_button_url_name(button) == 'view_draft': + if (button_url_name and button_url_name == 'view_draft') or helpers.get_button_url_name(button) == 'view_draft': button.url = page.get_url(is_draft=True) else: diff --git a/tests/core/test_wagtail_hooks.py b/tests/core/test_wagtail_hooks.py index 73b5470c..9bb8180d 100644 --- a/tests/core/test_wagtail_hooks.py +++ b/tests/core/test_wagtail_hooks.py @@ -1,6 +1,7 @@ from unittest.mock import Mock import pytest +import re from django.utils import translation from django.urls import reverse @@ -19,6 +20,20 @@ def test_update_default_listing_buttons_from_base_page(page_with_reversion): assert buttons[1].url == expected_url +@pytest.mark.django_db +def test_update_default_listing_buttons_from_base_page_button_url_name_view_draft( + page_with_reversion +): + button_url_name = 'view_draft' + buttons = wagtail_hooks.update_default_listing_buttons( + page=page_with_reversion, page_perms=Mock(), button_url_name=button_url_name, + ) + + expected_url = 'http://great[.]gov[.]uk/international/content/123-555-208/[?]draft_token=\w+' + assert len(buttons) == 4 + assert re.match(expected_url, buttons[1].url) + + @pytest.mark.django_db def test_update_default_listing_buttons_not_from_base_page( settings, page_without_specific_type diff --git a/tests/export_readiness/test_snippets.py b/tests/export_readiness/test_snippets.py new file mode 100644 index 00000000..af606ca0 --- /dev/null +++ b/tests/export_readiness/test_snippets.py @@ -0,0 +1,9 @@ +import pytest + + +from export_readiness.snippets import Tag + +@pytest.mark.django_db +def test_tag_str(): + tag = Tag.objects.create(name='Test Tag') + assert str(tag) == 'Test Tag' From fb035df2d20a439a0d43a4a47638aea414d1b19b Mon Sep 17 00:00:00 2001 From: davidu1975 Date: Tue, 9 May 2023 23:33:10 +0100 Subject: [PATCH 12/12] Flake8 fix --- core/wagtail_hooks.py | 3 ++- tests/core/test_wagtail_hooks.py | 2 +- tests/export_readiness/test_snippets.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/wagtail_hooks.py b/core/wagtail_hooks.py index b27fbdc8..41c9c225 100644 --- a/core/wagtail_hooks.py +++ b/core/wagtail_hooks.py @@ -31,7 +31,8 @@ def update_default_listing_buttons(page, page_perms, next_url=None, button_url_n buttons = list(page_listing_buttons(page, page_perms, next_url)) if isinstance(page, models.BasePage): for button in buttons: - if (button_url_name and button_url_name == 'view_draft') or helpers.get_button_url_name(button) == 'view_draft': + if (button_url_name and button_url_name == 'view_draft') or \ + helpers.get_button_url_name(button) == 'view_draft': button.url = page.get_url(is_draft=True) else: diff --git a/tests/core/test_wagtail_hooks.py b/tests/core/test_wagtail_hooks.py index 9bb8180d..e51c5946 100644 --- a/tests/core/test_wagtail_hooks.py +++ b/tests/core/test_wagtail_hooks.py @@ -29,7 +29,7 @@ def test_update_default_listing_buttons_from_base_page_button_url_name_view_draf page=page_with_reversion, page_perms=Mock(), button_url_name=button_url_name, ) - expected_url = 'http://great[.]gov[.]uk/international/content/123-555-208/[?]draft_token=\w+' + expected_url = r'http://great[.]gov[.]uk/international/content/123-555-208/[?]draft_token=\w+' assert len(buttons) == 4 assert re.match(expected_url, buttons[1].url) diff --git a/tests/export_readiness/test_snippets.py b/tests/export_readiness/test_snippets.py index af606ca0..90767538 100644 --- a/tests/export_readiness/test_snippets.py +++ b/tests/export_readiness/test_snippets.py @@ -1,8 +1,8 @@ import pytest - from export_readiness.snippets import Tag + @pytest.mark.django_db def test_tag_str(): tag = Tag.objects.create(name='Test Tag')