diff --git a/.circleci/config.yml b/.circleci/config.yml
index 8ce32884..a2a619d5 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -28,7 +28,7 @@ jobs:
mkdir test-reports
TESTFILES=$(circleci tests glob "tests/**/*.py")
ENV_FILES=test,dev pytest ${TESTFILES} --cov=. --cov-config=.coveragerc --cov-report html --cov-report term --junitxml=test-reports/junit.xml
- COVERALLS_PARALLEL=true coveralls
+ codecov
- run: mkdir -p workspace
- run: echo "export TARGET_CIRCLE_BUILD_NUM=$CIRCLE_BUILD_NUM" >> workspace/new-env-vars
- store_test_results:
diff --git a/.gitignore b/.gitignore
index c1b0e1ba..afd3932a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,9 @@ staticfiles
BrowserStackLocal
node_modules/
+.env
+ENV/
+
# C extensions
*.so
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bc9a2057..cbc4ce74 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,12 @@
# Changelog
## Pre-release
+
### Implemented enhancements
+- GAA-31 - Upgrading wagtail to 2.10
+- no-ticket - migrate to codecov remove coveralls
+- GAA-31 - Upgrading Wagtail to 2.9
+
### Fixed bugs
### Hotfix
diff --git a/README.md b/README.md
index b998ddf5..8a7fda48 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# directory-cms
[![circle-ci-image]][circle-ci]
-[![coverage-image]][coverage]
+[![codecov-image]][codecov]
[![gitflow-image]][gitflow]
[![calver-image]][calver]
@@ -124,8 +124,8 @@ https://github.com/uktrade?q=great
[circle-ci-image]: https://circleci.com/gh/uktrade/directory-cms/tree/develop.svg?style=svg
[circle-ci]: https://circleci.com/gh/uktrade/directory-cms/tree/develop
-[coverage-image]: https://coveralls.io/repos/github/uktrade/directory-cms/badge.svg
-[coverage]: https://coveralls.io/github/uktrade/directory-cms
+[codecov-image]: https://codecov.io/gh/uktrade/directory-cms/branch/master/graph/badge.svg
+[codecov]: https://codecov.io/gh/uktrade/directory-cms
[gitflow-image]: https://img.shields.io/badge/Branching%20strategy-gitflow-5FBB1C.svg
[gitflow]: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
diff --git a/core/views.py b/core/views.py
index 9895a854..2e4f414a 100644
--- a/core/views.py
+++ b/core/views.py
@@ -5,7 +5,7 @@
from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response
from rest_framework.views import APIView
-from wagtail.admin.api.endpoints import PagesAdminAPIEndpoint
+from wagtail.admin.api.views import PagesAdminAPIViewSet
from wagtail.core.models import Orderable, Page, Site
from django.conf import settings
@@ -27,7 +27,7 @@
logger = getLogger(__name__)
-class APIEndpointBase(PagesAdminAPIEndpoint):
+class APIEndpointBase(PagesAdminAPIViewSet):
"""At the very deep core this is a DRF GenericViewSet, with a few wagtail
layers on top.
@@ -37,7 +37,7 @@ class APIEndpointBase(PagesAdminAPIEndpoint):
queryset = Page.objects.all()
meta_fields = []
known_query_parameters = (
- PagesAdminAPIEndpoint.known_query_parameters.union(
+ PagesAdminAPIViewSet.known_query_parameters.union(
['lang', 'draft_token', 'service_name']
)
)
diff --git a/dependency-check-report.html b/dependency-check-report.html
new file mode 100644
index 00000000..4df02d0a
--- /dev/null
+++ b/dependency-check-report.html
@@ -0,0 +1,578 @@
+
+
+
+
+ Dependency-Check Report
+
+
+
+
+
+
+
+
+
+
+
Press CTR-C to copy XML
[help]
+
Suppress By GAV
+
Suppress By SHA1
+
+
+
+
+
Close
+
+
+
+
Dependency-Check is an open source tool performing a best effort analysis of 3rd party dependencies;
+false positives and false negatives may exist in the analysis performed by the tool. Use of the tool and
+the reporting provided constitutes acceptance for use in an AS IS condition, and there are NO warranties,
+implied or otherwise, with regard to the analysis or its use. Any use of the tool and the reporting provided
+is at the user’s risk. In no event shall the copyright holder or OWASP be held liable for any damages whatsoever
+arising out of or in connection with the use of this tool, the analysis performed, or the resulting report.
+
+
Project: Scan Information (
show all ):
dependency-check version : 5.2.4Report Generated On : Thu, 30 Jul 2020 10:04:11 +0100Dependencies Scanned : 5 (5 unique)Vulnerable Dependencies : 0 Vulnerabilities Found : 0Vulnerabilities Suppressed : 0... NVD CVE Checked : 2020-07-30T10:04:02NVD CVE Modified : 2020-07-30T06:03:50VersionCheckOn : 2020-07-30T10:04:02Summary Display:
Showing Vulnerable Dependencies (click to show all) Dependencies request_access.jsFile Path: /home/robert/dev/great/directory-cms/users/static/wagtailadmin/sso/js/request_access.jsMD5: c4b170ace2737198abb12ce4ec8f926eSHA1: e2bba0a275cdcff7b0c5effa1aec164434de92e3SHA256: 4b5b0bef7e23d08ddfe6b6b0591ed9623a3d91be26666b9dca8e5fd7f31bc50b
Evidence Type Source Name Value Confidence
refresh_codemirror.jsFile Path: /home/robert/dev/great/directory-cms/core/static/core/js/refresh_codemirror.jsMD5: be3caf20250c34dc7fad8a830bfa3ee1SHA1: 5553ea02a458db8b3652dbc149b50913e6755e3cSHA256: b6eae444176c050d4c63d44d4775f82f23e6a55d671ec2bdef4cbf6475aeb591
Evidence Type Source Name Value Confidence
sum_required_localised_fields.jsFile Path: /home/robert/dev/great/directory-cms/core/static/core/js/sum_required_localised_fields.jsMD5: 59af8fac7150e20a7400594197ae12cdSHA1: 6d69c45f8bf8437a66e95dbb5f2faa40e274ca3cSHA256: 90d0d13d588ace17d4d399cd142da547656b6241531478cd1f70a3f9495c4da4
Evidence Type Source Name Value Confidence
select2.jsFile Path: /home/robert/dev/great/directory-cms/core/static/core/js/select2/select2.jsMD5: e66208e306a3e3b571283e2838ad12a6SHA1: b2a7dd8bb6576cde01860c5069aece07c2d512b9SHA256: 5122fa0060a73698bc07e530d3e93a092fedcda3bfaeec9a7feff841521fb9ff
Evidence Type Source Name Value Confidence
select2.min.jsFile Path: /home/robert/dev/great/directory-cms/core/static/core/js/select2/select2.min.jsMD5: 090dfbc88a4a0693b8de1dab9f9aacb2SHA1: c01a5b17ba1f8ffb55d4f6c2776862c861812924SHA256: 1cd91b9dd3e258ce4421181a85cde15a2b860fa0adc0580c7c4534a37cde69ba
Evidence Type Source Name Value Confidence
\ No newline at end of file
diff --git a/export_readiness/migrations/0034_auto_20190314_1250.py b/export_readiness/migrations/0034_auto_20190314_1250.py
index a6e65c2f..56a0d050 100644
--- a/export_readiness/migrations/0034_auto_20190314_1250.py
+++ b/export_readiness/migrations/0034_auto_20190314_1250.py
@@ -1,423 +1,423 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-14 12:50
-from __future__ import unicode_literals
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('wagtailimages', '0021_image_file_hash'),
- ('export_readiness', '0033_auto_20190312_1557'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='countryguidepage',
- name='accordion_1_hero_image',
- ),
- migrations.RemoveField(
- model_name='countryguidepage',
- name='accordion_2_hero_image',
- ),
- migrations.RemoveField(
- model_name='countryguidepage',
- name='accordion_3_hero_image',
- ),
- migrations.RemoveField(
- model_name='countryguidepage',
- name='accordion_4_hero_image',
- ),
- migrations.RemoveField(
- model_name='countryguidepage',
- name='accordion_5_hero_image',
- ),
- migrations.RemoveField(
- model_name='countryguidepage',
- name='accordion_6_hero_image',
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_case_study_button_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_case_study_button_text',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_case_study_description',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_case_study_hero_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_case_study_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_cta_1_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_cta_1_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_cta_2_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_cta_2_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_cta_3_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_1_cta_3_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_case_study_button_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_case_study_button_text',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_case_study_description',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_case_study_hero_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_case_study_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_cta_1_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_cta_1_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_cta_2_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_cta_2_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_cta_3_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_2_cta_3_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_case_study_button_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_case_study_button_text',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_case_study_description',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_case_study_hero_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_case_study_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_cta_1_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_cta_1_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_cta_2_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_cta_2_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_cta_3_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_3_cta_3_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_case_study_button_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_case_study_button_text',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_case_study_description',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_case_study_hero_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_case_study_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_cta_1_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_cta_1_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_cta_2_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_cta_2_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_cta_3_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_4_cta_3_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_case_study_button_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_case_study_button_text',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_case_study_description',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_case_study_hero_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_case_study_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_cta_1_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_cta_1_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_cta_2_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_cta_2_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_cta_3_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_5_cta_3_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_case_study_button_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_case_study_button_text',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_case_study_description',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_case_study_hero_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_case_study_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_cta_1_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_cta_1_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_cta_2_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_cta_2_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_cta_3_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='accordion_6_cta_3_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_column_1_body',
- field=core.model_fields.MarkdownField(blank=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_column_1_teaser',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_column_1_title',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_column_2_body',
- field=core.model_fields.MarkdownField(blank=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_column_2_teaser',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_column_2_title',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_teaser',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='fact_sheet_title',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='help_market_guide_cta_link',
- field=models.CharField(blank=True, max_length=255, verbose_name='Help CTA market guide link'),
- ),
- migrations.AddField(
- model_name='countryguidepage',
- name='help_market_guide_cta_title',
- field=models.CharField(blank=True, max_length=255, verbose_name='Help CTA market guide title'),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-14 12:50
+from __future__ import unicode_literals
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('wagtailimages', '0021_image_file_hash'),
+ ('export_readiness', '0033_auto_20190312_1557'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='accordion_1_hero_image',
+ ),
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='accordion_2_hero_image',
+ ),
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='accordion_3_hero_image',
+ ),
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='accordion_4_hero_image',
+ ),
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='accordion_5_hero_image',
+ ),
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='accordion_6_hero_image',
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_case_study_button_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_case_study_button_text',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_case_study_description',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_case_study_hero_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_case_study_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_cta_1_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_cta_1_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_cta_2_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_cta_2_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_cta_3_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_1_cta_3_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_case_study_button_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_case_study_button_text',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_case_study_description',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_case_study_hero_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_case_study_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_cta_1_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_cta_1_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_cta_2_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_cta_2_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_cta_3_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_2_cta_3_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_case_study_button_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_case_study_button_text',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_case_study_description',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_case_study_hero_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_case_study_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_cta_1_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_cta_1_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_cta_2_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_cta_2_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_cta_3_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_3_cta_3_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_case_study_button_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_case_study_button_text',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_case_study_description',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_case_study_hero_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_case_study_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_cta_1_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_cta_1_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_cta_2_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_cta_2_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_cta_3_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_4_cta_3_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_case_study_button_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_case_study_button_text',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_case_study_description',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_case_study_hero_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_case_study_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_cta_1_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_cta_1_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_cta_2_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_cta_2_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_cta_3_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_5_cta_3_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_case_study_button_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_case_study_button_text',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study button text'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_case_study_description',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study description'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_case_study_hero_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Case study hero'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_case_study_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Case study title'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_cta_1_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_cta_1_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 1'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_cta_2_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_cta_2_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 2'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_cta_3_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA link 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='accordion_6_cta_3_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='CTA title 3'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_column_1_body',
+ field=core.model_fields.MarkdownField(blank=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_column_1_teaser',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_column_1_title',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_column_2_body',
+ field=core.model_fields.MarkdownField(blank=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_column_2_teaser',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_column_2_title',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_teaser',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='fact_sheet_title',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='help_market_guide_cta_link',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Help CTA market guide link'),
+ ),
+ migrations.AddField(
+ model_name='countryguidepage',
+ name='help_market_guide_cta_title',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Help CTA market guide title'),
+ ),
+ ]
diff --git a/export_readiness/migrations/0035_remove_countryguidepage_help_market_guide_cta_title.py b/export_readiness/migrations/0035_remove_countryguidepage_help_market_guide_cta_title.py
index 3d88f374..b9d1dc21 100644
--- a/export_readiness/migrations/0035_remove_countryguidepage_help_market_guide_cta_title.py
+++ b/export_readiness/migrations/0035_remove_countryguidepage_help_market_guide_cta_title.py
@@ -1,19 +1,19 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-14 16:43
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('export_readiness', '0034_auto_20190314_1250'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='countryguidepage',
- name='help_market_guide_cta_title',
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-14 16:43
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('export_readiness', '0034_auto_20190314_1250'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='countryguidepage',
+ name='help_market_guide_cta_title',
+ ),
+ ]
diff --git a/export_readiness/migrations/0036_topiclandingpage_teaser.py b/export_readiness/migrations/0036_topiclandingpage_teaser.py
index fc65dc72..e94e9573 100644
--- a/export_readiness/migrations/0036_topiclandingpage_teaser.py
+++ b/export_readiness/migrations/0036_topiclandingpage_teaser.py
@@ -1,20 +1,20 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-19 15:14
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('export_readiness', '0035_remove_countryguidepage_help_market_guide_cta_title'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='topiclandingpage',
- name='teaser',
- field=models.TextField(blank=True),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-19 15:14
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('export_readiness', '0035_remove_countryguidepage_help_market_guide_cta_title'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='topiclandingpage',
+ name='teaser',
+ field=models.TextField(blank=True),
+ ),
+ ]
diff --git a/great_international/migrations/0005_auto_20190320_1750.py b/great_international/migrations/0005_auto_20190320_1750.py
index 3cf41a8f..8f1d7295 100644
--- a/great_international/migrations/0005_auto_20190320_1750.py
+++ b/great_international/migrations/0005_auto_20190320_1750.py
@@ -1,113 +1,113 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-20 17:50
-from __future__ import unicode_literals
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('great_international', '0004_internationalguidelandingpage'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_cta_page',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page', verbose_name='Case study link URL'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_cta_text',
- field=models.TextField(blank=True, verbose_name='Case study link text'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='heading',
- field=models.CharField(max_length=255, verbose_name='Sector name'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='heading_teaser',
- field=models.TextField(blank=True, verbose_name='Introduction'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_one_body',
- field=core.model_fields.MarkdownField(null=True, validators=[core.validators.slug_hyperlinks], verbose_name='3 unique selling points markdown'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_one_image',
- field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Image for unique selling points'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_one_image_caption',
- field=models.CharField(blank=True, max_length=255, verbose_name='Image caption'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_one_image_caption_company',
- field=models.CharField(blank=True, max_length=255, verbose_name='Image caption attribution'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_heading',
- field=models.CharField(max_length=255, verbose_name='Spotlight'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_body',
- field=models.TextField(verbose_name='Spotlight 1 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_heading',
- field=models.CharField(max_length=255, verbose_name='Spotlight 1 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_icon',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Spotlight 1 icon'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_body',
- field=models.TextField(verbose_name='Spotlight 3 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_heading',
- field=models.CharField(max_length=255, verbose_name='Spotlight 3 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_icon',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Spotlight 3 icon'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_body',
- field=models.TextField(verbose_name='Spotlight 2 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_heading',
- field=models.CharField(max_length=255, verbose_name='Spotlight 2 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_icon',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Spotlight 2 icon'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_teaser',
- field=models.TextField(verbose_name='Spotlight summary'),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-20 17:50
+from __future__ import unicode_literals
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('great_international', '0004_internationalguidelandingpage'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_cta_page',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page', verbose_name='Case study link URL'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_cta_text',
+ field=models.TextField(blank=True, verbose_name='Case study link text'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='heading',
+ field=models.CharField(max_length=255, verbose_name='Sector name'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='heading_teaser',
+ field=models.TextField(blank=True, verbose_name='Introduction'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_one_body',
+ field=core.model_fields.MarkdownField(null=True, validators=[core.validators.slug_hyperlinks], verbose_name='3 unique selling points markdown'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_one_image',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Image for unique selling points'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_one_image_caption',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Image caption'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_one_image_caption_company',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Image caption attribution'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_heading',
+ field=models.CharField(max_length=255, verbose_name='Spotlight'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_body',
+ field=models.TextField(verbose_name='Spotlight 1 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_heading',
+ field=models.CharField(max_length=255, verbose_name='Spotlight 1 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_icon',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Spotlight 1 icon'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_body',
+ field=models.TextField(verbose_name='Spotlight 3 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_heading',
+ field=models.CharField(max_length=255, verbose_name='Spotlight 3 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_icon',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Spotlight 3 icon'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_body',
+ field=models.TextField(verbose_name='Spotlight 2 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_heading',
+ field=models.CharField(max_length=255, verbose_name='Spotlight 2 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_icon',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Spotlight 2 icon'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_teaser',
+ field=models.TextField(verbose_name='Spotlight summary'),
+ ),
+ ]
diff --git a/great_international/migrations/0012_internationalsectorpage.py b/great_international/migrations/0012_internationalsectorpage.py
index 1e4fea49..d4858c75 100644
--- a/great_international/migrations/0012_internationalsectorpage.py
+++ b/great_international/migrations/0012_internationalsectorpage.py
@@ -1,84 +1,84 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-02-28 12:34
-from __future__ import unicode_literals
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('wagtailcore', '0040_page_draft_title'),
- ('wagtailimages', '0021_image_file_hash'),
- ('great_international', '0011_auto_20190228_1051'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='InternationalSectorPage',
- fields=[
- ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
- ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
- ('heading', models.CharField(max_length=255)),
- ('sub_heading', models.CharField(max_length=255)),
- ('heading_teaser', models.CharField(max_length=255)),
- ('section_one_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('statistic_1_number', models.CharField(max_length=255)),
- ('statistic_1_heading', models.CharField(max_length=255)),
- ('statistic_1_smallprint', models.CharField(max_length=255)),
- ('statistic_2_number', models.CharField(max_length=255)),
- ('statistic_2_heading', models.CharField(max_length=255)),
- ('statistic_2_smallprint', models.CharField(max_length=255)),
- ('statistic_3_number', models.CharField(blank=True, max_length=255)),
- ('statistic_3_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_3_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_4_number', models.CharField(blank=True, max_length=255)),
- ('statistic_4_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_4_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_5_number', models.CharField(blank=True, max_length=255)),
- ('statistic_5_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_5_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_6_number', models.CharField(blank=True, max_length=255)),
- ('statistic_6_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_6_smallprint', models.CharField(blank=True, max_length=255)),
- ('section_two_heading', models.CharField(max_length=255)),
- ('section_two_teaser', models.CharField(max_length=255)),
- ('section_two_subsection_one_heading', models.CharField(max_length=255)),
- ('section_two_subsection_one_body', models.CharField(max_length=255)),
- ('section_two_subsection_two_heading', models.CharField(max_length=255)),
- ('section_two_subsection_two_body', models.CharField(max_length=255)),
- ('section_two_subsection_three_heading', models.CharField(max_length=255)),
- ('section_two_subsection_three_body', models.CharField(max_length=255)),
- ('case_study_title', models.CharField(max_length=255)),
- ('case_study_description', models.CharField(max_length=255)),
- ('case_study_cta_text', models.CharField(max_length=255)),
- ('case_study_cta_url', models.CharField(max_length=255)),
- ('section_three_heading', models.CharField(max_length=255)),
- ('section_three_teaser', models.CharField(max_length=255)),
- ('section_three_subsection_one_heading', models.CharField(max_length=255)),
- ('section_three_subsection_one_teaser', models.CharField(max_length=255)),
- ('section_three_subsection_one_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_three_subsection_two_heading', models.CharField(max_length=255)),
- ('section_three_subsection_two_teaser', models.CharField(max_length=255)),
- ('section_three_subsection_two_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('next_steps_heading', models.CharField(max_length=255)),
- ('next_steps_description', models.CharField(max_length=255)),
- ('case_study_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('related_page_one', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
- ('related_page_three', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
- ('related_page_two', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
- ('section_one_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_two_subsection_one_icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_two_subsection_three_icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_two_subsection_two_icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ],
- options={
- 'abstract': False,
- },
- bases=('wagtailcore.page',),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-02-28 12:34
+from __future__ import unicode_literals
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('wagtailcore', '0040_page_draft_title'),
+ ('wagtailimages', '0021_image_file_hash'),
+ ('great_international', '0011_auto_20190228_1051'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='InternationalSectorPage',
+ fields=[
+ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
+ ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
+ ('heading', models.CharField(max_length=255)),
+ ('sub_heading', models.CharField(max_length=255)),
+ ('heading_teaser', models.CharField(max_length=255)),
+ ('section_one_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('statistic_1_number', models.CharField(max_length=255)),
+ ('statistic_1_heading', models.CharField(max_length=255)),
+ ('statistic_1_smallprint', models.CharField(max_length=255)),
+ ('statistic_2_number', models.CharField(max_length=255)),
+ ('statistic_2_heading', models.CharField(max_length=255)),
+ ('statistic_2_smallprint', models.CharField(max_length=255)),
+ ('statistic_3_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_3_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_3_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_4_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_4_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_4_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_5_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_5_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_5_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_6_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_6_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_6_smallprint', models.CharField(blank=True, max_length=255)),
+ ('section_two_heading', models.CharField(max_length=255)),
+ ('section_two_teaser', models.CharField(max_length=255)),
+ ('section_two_subsection_one_heading', models.CharField(max_length=255)),
+ ('section_two_subsection_one_body', models.CharField(max_length=255)),
+ ('section_two_subsection_two_heading', models.CharField(max_length=255)),
+ ('section_two_subsection_two_body', models.CharField(max_length=255)),
+ ('section_two_subsection_three_heading', models.CharField(max_length=255)),
+ ('section_two_subsection_three_body', models.CharField(max_length=255)),
+ ('case_study_title', models.CharField(max_length=255)),
+ ('case_study_description', models.CharField(max_length=255)),
+ ('case_study_cta_text', models.CharField(max_length=255)),
+ ('case_study_cta_url', models.CharField(max_length=255)),
+ ('section_three_heading', models.CharField(max_length=255)),
+ ('section_three_teaser', models.CharField(max_length=255)),
+ ('section_three_subsection_one_heading', models.CharField(max_length=255)),
+ ('section_three_subsection_one_teaser', models.CharField(max_length=255)),
+ ('section_three_subsection_one_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_three_subsection_two_heading', models.CharField(max_length=255)),
+ ('section_three_subsection_two_teaser', models.CharField(max_length=255)),
+ ('section_three_subsection_two_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('next_steps_heading', models.CharField(max_length=255)),
+ ('next_steps_description', models.CharField(max_length=255)),
+ ('case_study_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('related_page_one', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
+ ('related_page_three', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
+ ('related_page_two', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page')),
+ ('section_one_image', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_two_subsection_one_icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_two_subsection_three_icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_two_subsection_two_icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('wagtailcore.page',),
+ ),
+ ]
diff --git a/great_international/migrations/0013_auto_20190301_1227.py b/great_international/migrations/0013_auto_20190301_1227.py
index 1e5db83f..d9a33f3e 100644
--- a/great_international/migrations/0013_auto_20190301_1227.py
+++ b/great_international/migrations/0013_auto_20190301_1227.py
@@ -1,165 +1,165 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-01 16:09
-from __future__ import unicode_literals
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-import modelcluster.fields
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('export_readiness', '0050_auto_20190219_1633'),
- ('wagtailcore', '0040_page_draft_title'),
- ('great_international', '0012_internationalsectorpage'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='internationalsectorpage',
- name='case_study_cta_url',
- ),
- migrations.AddField(
- model_name='internationalsectorpage',
- name='case_study_cta_page',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page'),
- ),
- migrations.AddField(
- model_name='internationalsectorpage',
- name='tags',
- field=modelcluster.fields.ParentalManyToManyField(blank=True, to='export_readiness.Tag'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_cta_text',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_description',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_title',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='heading_teaser',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_one_body',
- field=core.model_fields.MarkdownField(null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Bullets markdown'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_one_image',
- field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Bullets image'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_heading',
- field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheets heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_one_body',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Fact sheet 1 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_one_heading',
- field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 1 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_one_teaser',
- field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 1 teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_two_body',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Fact sheet 2 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_two_heading',
- field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 2 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_two_teaser',
- field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 2 teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_teaser',
- field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheets teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_heading',
- field=models.CharField(max_length=255, verbose_name='Highlights heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_body',
- field=models.CharField(max_length=255, verbose_name='Highlight 1 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_heading',
- field=models.CharField(max_length=255, verbose_name='Highlight 1 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_icon',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Highlight 1 icon'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_body',
- field=models.CharField(max_length=255, verbose_name='Highlight 3 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_heading',
- field=models.CharField(max_length=255, verbose_name='Highlight 3 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_icon',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Highlight 3 icon'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_body',
- field=models.CharField(max_length=255, verbose_name='Highlight 2 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_heading',
- field=models.CharField(max_length=255, verbose_name='Highlight 2 heading'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_icon',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Highlight 2 icon'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_teaser',
- field=models.CharField(max_length=255, verbose_name='Highlights teaser'),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-01 16:09
+from __future__ import unicode_literals
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+import modelcluster.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('export_readiness', '0050_auto_20190219_1633'),
+ ('wagtailcore', '0040_page_draft_title'),
+ ('great_international', '0012_internationalsectorpage'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='internationalsectorpage',
+ name='case_study_cta_url',
+ ),
+ migrations.AddField(
+ model_name='internationalsectorpage',
+ name='case_study_cta_page',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailcore.Page'),
+ ),
+ migrations.AddField(
+ model_name='internationalsectorpage',
+ name='tags',
+ field=modelcluster.fields.ParentalManyToManyField(blank=True, to='export_readiness.Tag'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_cta_text',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_description',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_title',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='heading_teaser',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_one_body',
+ field=core.model_fields.MarkdownField(null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Bullets markdown'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_one_image',
+ field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Bullets image'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_heading',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheets heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_one_body',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Fact sheet 1 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_one_heading',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 1 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_one_teaser',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 1 teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_two_body',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Fact sheet 2 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_two_heading',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 2 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_two_teaser',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheet 2 teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_teaser',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Fact sheets teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_heading',
+ field=models.CharField(max_length=255, verbose_name='Highlights heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_body',
+ field=models.CharField(max_length=255, verbose_name='Highlight 1 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_heading',
+ field=models.CharField(max_length=255, verbose_name='Highlight 1 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_icon',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Highlight 1 icon'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_body',
+ field=models.CharField(max_length=255, verbose_name='Highlight 3 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_heading',
+ field=models.CharField(max_length=255, verbose_name='Highlight 3 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_icon',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Highlight 3 icon'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_body',
+ field=models.CharField(max_length=255, verbose_name='Highlight 2 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_heading',
+ field=models.CharField(max_length=255, verbose_name='Highlight 2 heading'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_icon',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image', verbose_name='Highlight 2 icon'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_teaser',
+ field=models.CharField(max_length=255, verbose_name='Highlights teaser'),
+ ),
+ ]
diff --git a/great_international/migrations/0014_auto_20190304_1215.py b/great_international/migrations/0014_auto_20190304_1215.py
index 036b9422..cbdf0465 100644
--- a/great_international/migrations/0014_auto_20190304_1215.py
+++ b/great_international/migrations/0014_auto_20190304_1215.py
@@ -1,88 +1,88 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-04 12:15
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('great_international', '0013_auto_20190301_1227'),
- ]
-
- operations = [
- migrations.RemoveField(
- model_name='internationalsectorpage',
- name='next_steps_description',
- ),
- migrations.RemoveField(
- model_name='internationalsectorpage',
- name='next_steps_heading',
- ),
- migrations.AddField(
- model_name='internationalsectorpage',
- name='section_one_image_caption',
- field=models.CharField(blank=True, max_length=255, verbose_name='Bullets image caption'),
- ),
- migrations.AddField(
- model_name='internationalsectorpage',
- name='section_one_image_caption_company',
- field=models.CharField(blank=True, max_length=255, verbose_name='Bullets image caption — company name'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='case_study_cta_text',
- field=models.TextField(blank=True),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='heading_teaser',
- field=models.TextField(blank=True),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_one_teaser',
- field=models.TextField(blank=True, verbose_name='Fact sheet 1 teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_subsection_two_teaser',
- field=models.TextField(blank=True, verbose_name='Fact sheet 2 teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_three_teaser',
- field=models.TextField(blank=True, verbose_name='Fact sheets teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_one_body',
- field=models.TextField(verbose_name='Highlight 1 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_three_body',
- field=models.TextField(verbose_name='Highlight 3 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_subsection_two_body',
- field=models.TextField(verbose_name='Highlight 2 body'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='section_two_teaser',
- field=models.TextField(verbose_name='Highlights teaser'),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='statistic_1_smallprint',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='statistic_2_smallprint',
- field=models.CharField(blank=True, max_length=255),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-04 12:15
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('great_international', '0013_auto_20190301_1227'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='internationalsectorpage',
+ name='next_steps_description',
+ ),
+ migrations.RemoveField(
+ model_name='internationalsectorpage',
+ name='next_steps_heading',
+ ),
+ migrations.AddField(
+ model_name='internationalsectorpage',
+ name='section_one_image_caption',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Bullets image caption'),
+ ),
+ migrations.AddField(
+ model_name='internationalsectorpage',
+ name='section_one_image_caption_company',
+ field=models.CharField(blank=True, max_length=255, verbose_name='Bullets image caption — company name'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='case_study_cta_text',
+ field=models.TextField(blank=True),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='heading_teaser',
+ field=models.TextField(blank=True),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_one_teaser',
+ field=models.TextField(blank=True, verbose_name='Fact sheet 1 teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_subsection_two_teaser',
+ field=models.TextField(blank=True, verbose_name='Fact sheet 2 teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_three_teaser',
+ field=models.TextField(blank=True, verbose_name='Fact sheets teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_one_body',
+ field=models.TextField(verbose_name='Highlight 1 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_three_body',
+ field=models.TextField(verbose_name='Highlight 3 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_subsection_two_body',
+ field=models.TextField(verbose_name='Highlight 2 body'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='section_two_teaser',
+ field=models.TextField(verbose_name='Highlights teaser'),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='statistic_1_smallprint',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='statistic_2_smallprint',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ ]
diff --git a/great_international/migrations/0015_auto_20190306_1521.py b/great_international/migrations/0015_auto_20190306_1521.py
index 9b5e9f39..ad091638 100644
--- a/great_international/migrations/0015_auto_20190306_1521.py
+++ b/great_international/migrations/0015_auto_20190306_1521.py
@@ -1,20 +1,20 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.18 on 2019-03-06 15:21
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('great_international', '0014_auto_20190304_1215'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='internationalsectorpage',
- name='sub_heading',
- field=models.CharField(blank=True, max_length=255),
- ),
- ]
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-03-06 15:21
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('great_international', '0014_auto_20190304_1215'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='internationalsectorpage',
+ name='sub_heading',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ ]
diff --git a/great_international/migrations/0049_aboutditlandingpage_aboutditservicesfields_aboutditservicespage.py b/great_international/migrations/0049_aboutditlandingpage_aboutditservicesfields_aboutditservicespage.py
index aab67af6..40f253e3 100644
--- a/great_international/migrations/0049_aboutditlandingpage_aboutditservicesfields_aboutditservicespage.py
+++ b/great_international/migrations/0049_aboutditlandingpage_aboutditservicesfields_aboutditservicespage.py
@@ -1,221 +1,221 @@
-# Generated by Django 2.2.2 on 2019-07-12 12:48
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-import modelcluster.fields
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
- ('wagtailimages', '0001_squashed_0021'),
- ('great_international', '0048_capitalinvestrelatedsubsectors_internationalsubsectorpage'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='AboutDitServicesPage',
- fields=[
- ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
- ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
- ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
- ('breadcrumbs_label', models.CharField(max_length=255)),
- ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
- ('hero_title', models.CharField(max_length=255)),
- ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
- ('hero_title_de', models.CharField(max_length=255, null=True)),
- ('hero_title_ja', models.CharField(max_length=255, null=True)),
- ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
- ('hero_title_fr', models.CharField(max_length=255, null=True)),
- ('hero_title_es', models.CharField(max_length=255, null=True)),
- ('hero_title_pt', models.CharField(max_length=255, null=True)),
- ('hero_title_ar', models.CharField(max_length=255, null=True)),
- ('teaser', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('case_study_title', models.CharField(blank=True, max_length=255)),
- ('case_study_title_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_de', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_es', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_title_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_text', models.TextField(blank=True, max_length=255)),
- ('case_study_text_en_gb', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_de', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_ja', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_zh_hans', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_fr', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_es', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_pt', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_text_ar', models.TextField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text', models.CharField(blank=True, max_length=255)),
- ('case_study_cta_text_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_de', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_es', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_text_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link', models.CharField(blank=True, max_length=255)),
- ('case_study_cta_link_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_de', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_es', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('case_study_cta_link_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('contact_us_section_title', models.CharField(blank=True, max_length=255, verbose_name='Title')),
- ('contact_us_section_title_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_summary', models.TextField(blank=True, max_length=255, verbose_name='Summary')),
- ('contact_us_section_summary_en_gb', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_de', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_ja', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_zh_hans', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_fr', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_es', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_pt', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_summary_ar', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
- ('contact_us_section_cta_text', models.CharField(blank=True, max_length=255, verbose_name='CTA text')),
- ('contact_us_section_cta_text_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_link', models.CharField(blank=True, max_length=255, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('case_study_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_en_gb', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_fr', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_ja', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_pt', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('case_study_image_zh_hans', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('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')),
- ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_en_gb', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_fr', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_ja', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_pt', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('teaser_image_zh_hans', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ],
- options={
- 'abstract': False,
- },
- bases=('wagtailcore.page',),
- ),
- migrations.CreateModel(
- name='AboutDitServicesFields',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
- ('title', models.CharField(blank=True, max_length=255)),
- ('summary', models.TextField(blank=True, max_length=255)),
- ('link_text', models.CharField(blank=True, max_length=255, verbose_name='Link text')),
- ('link_url', models.CharField(blank=True, max_length=255, verbose_name='Link URL')),
- ('icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_ar', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_de', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_en_gb', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_es', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_fr', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_ja', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_pt', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ('page_zh_hans', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
- ],
- options={
- 'ordering': ['sort_order'],
- 'abstract': False,
- },
- ),
- migrations.CreateModel(
- name='AboutDitLandingPage',
- fields=[
- ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
- ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
- ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
- ('breadcrumbs_label', models.CharField(max_length=255)),
- ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
- ('hero_title', models.CharField(max_length=255)),
- ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
- ('hero_title_de', models.CharField(max_length=255, null=True)),
- ('hero_title_ja', models.CharField(max_length=255, null=True)),
- ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
- ('hero_title_fr', models.CharField(max_length=255, null=True)),
- ('hero_title_es', models.CharField(max_length=255, null=True)),
- ('hero_title_pt', models.CharField(max_length=255, null=True)),
- ('hero_title_ar', models.CharField(max_length=255, 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')),
- ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ],
- options={
- 'abstract': False,
- },
- bases=('wagtailcore.page',),
- ),
- ]
+# Generated by Django 2.2.2 on 2019-07-12 12:48
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+import modelcluster.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
+ ('wagtailimages', '0001_squashed_0021'),
+ ('great_international', '0048_capitalinvestrelatedsubsectors_internationalsubsectorpage'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='AboutDitServicesPage',
+ fields=[
+ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
+ ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
+ ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
+ ('breadcrumbs_label', models.CharField(max_length=255)),
+ ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
+ ('hero_title', models.CharField(max_length=255)),
+ ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
+ ('hero_title_de', models.CharField(max_length=255, null=True)),
+ ('hero_title_ja', models.CharField(max_length=255, null=True)),
+ ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
+ ('hero_title_fr', models.CharField(max_length=255, null=True)),
+ ('hero_title_es', models.CharField(max_length=255, null=True)),
+ ('hero_title_pt', models.CharField(max_length=255, null=True)),
+ ('hero_title_ar', models.CharField(max_length=255, null=True)),
+ ('teaser', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('case_study_title', models.CharField(blank=True, max_length=255)),
+ ('case_study_title_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_title_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_text', models.TextField(blank=True, max_length=255)),
+ ('case_study_text_en_gb', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_de', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_ja', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_zh_hans', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_fr', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_es', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_pt', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_text_ar', models.TextField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text', models.CharField(blank=True, max_length=255)),
+ ('case_study_cta_text_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_text_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link', models.CharField(blank=True, max_length=255)),
+ ('case_study_cta_link_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('case_study_cta_link_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('contact_us_section_title', models.CharField(blank=True, max_length=255, verbose_name='Title')),
+ ('contact_us_section_title_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_summary', models.TextField(blank=True, max_length=255, verbose_name='Summary')),
+ ('contact_us_section_summary_en_gb', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_de', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_ja', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_zh_hans', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_fr', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_es', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_pt', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_summary_ar', models.TextField(blank=True, max_length=255, null=True, verbose_name='Summary')),
+ ('contact_us_section_cta_text', models.CharField(blank=True, max_length=255, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_link', models.CharField(blank=True, max_length=255, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('case_study_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_en_gb', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_fr', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_ja', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_pt', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('case_study_image_zh_hans', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('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')),
+ ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_en_gb', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_fr', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_ja', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_pt', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('teaser_image_zh_hans', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('wagtailcore.page',),
+ ),
+ migrations.CreateModel(
+ name='AboutDitServicesFields',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
+ ('title', models.CharField(blank=True, max_length=255)),
+ ('summary', models.TextField(blank=True, max_length=255)),
+ ('link_text', models.CharField(blank=True, max_length=255, verbose_name='Link text')),
+ ('link_url', models.CharField(blank=True, max_length=255, verbose_name='Link URL')),
+ ('icon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_ar', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_de', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_en_gb', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_es', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_fr', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_ja', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_pt', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ('page_zh_hans', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_dit_services_fields', to='great_international.AboutDitServicesPage')),
+ ],
+ options={
+ 'ordering': ['sort_order'],
+ 'abstract': False,
+ },
+ ),
+ migrations.CreateModel(
+ name='AboutDitLandingPage',
+ fields=[
+ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
+ ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
+ ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
+ ('breadcrumbs_label', models.CharField(max_length=255)),
+ ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
+ ('hero_title', models.CharField(max_length=255)),
+ ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
+ ('hero_title_de', models.CharField(max_length=255, null=True)),
+ ('hero_title_ja', models.CharField(max_length=255, null=True)),
+ ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
+ ('hero_title_fr', models.CharField(max_length=255, null=True)),
+ ('hero_title_es', models.CharField(max_length=255, null=True)),
+ ('hero_title_pt', models.CharField(max_length=255, null=True)),
+ ('hero_title_ar', models.CharField(max_length=255, 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')),
+ ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('wagtailcore.page',),
+ ),
+ ]
diff --git a/great_international/migrations/0051_aboutukarticlesfields_aboutuklandingpage_aboutukwhychoosetheukpage.py b/great_international/migrations/0051_aboutukarticlesfields_aboutuklandingpage_aboutukwhychoosetheukpage.py
index 0b58214d..2532457f 100644
--- a/great_international/migrations/0051_aboutukarticlesfields_aboutuklandingpage_aboutukwhychoosetheukpage.py
+++ b/great_international/migrations/0051_aboutukarticlesfields_aboutuklandingpage_aboutukwhychoosetheukpage.py
@@ -1,349 +1,349 @@
-# Generated by Django 2.2.3 on 2019-07-22 11:45
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-import great_international.panels.great_international
-import modelcluster.fields
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
- ('wagtailimages', '0001_squashed_0021'),
- ('great_international', '0050_investhighpotentialopportunitiespage'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='AboutUkWhyChooseTheUkPage',
- fields=[
- ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
- ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
- ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
- ('breadcrumbs_label', models.CharField(max_length=255)),
- ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
- ('hero_title', models.CharField(max_length=255)),
- ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
- ('hero_title_de', models.CharField(max_length=255, null=True)),
- ('hero_title_ja', models.CharField(max_length=255, null=True)),
- ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
- ('hero_title_fr', models.CharField(max_length=255, null=True)),
- ('hero_title_es', models.CharField(max_length=255, null=True)),
- ('hero_title_pt', models.CharField(max_length=255, null=True)),
- ('hero_title_ar', models.CharField(max_length=255, null=True)),
- ('teaser', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('teaser_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
- ('section_one_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('section_one_body_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
- ('statistic_1_number', models.CharField(blank=True, max_length=255)),
- ('statistic_1_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_number_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_1_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_1_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_1_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number', models.CharField(blank=True, max_length=255)),
- ('statistic_2_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_number_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_2_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_2_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_2_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number', models.CharField(blank=True, max_length=255)),
- ('statistic_3_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_number_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_3_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_3_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_3_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number', models.CharField(blank=True, max_length=255)),
- ('statistic_4_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_number_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_4_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_4_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_4_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number', models.CharField(blank=True, max_length=255)),
- ('statistic_5_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_number_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_5_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_5_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_5_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number', models.CharField(blank=True, max_length=255)),
- ('statistic_6_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_number_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading', models.CharField(blank=True, max_length=255)),
- ('statistic_6_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint', models.CharField(blank=True, max_length=255)),
- ('statistic_6_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
- ('statistic_6_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
- ('contact_us_section_title', models.CharField(blank=True, max_length=255, verbose_name='Title')),
- ('contact_us_section_title_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_title_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
- ('contact_us_section_summary', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_summary_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
- ('contact_us_section_cta_text', models.CharField(blank=True, max_length=255, verbose_name='CTA text')),
- ('contact_us_section_cta_text_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_text_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
- ('contact_us_section_cta_link', models.CharField(blank=True, max_length=255, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('contact_us_section_cta_link_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
- ('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')),
- ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_en_gb', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_fr', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_ja', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_pt', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('section_one_image_zh_hans', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ],
- options={
- 'abstract': False,
- },
- bases=('wagtailcore.page', great_international.panels.great_international.AboutUkWhyChooseTheUkPagePanels),
- ),
- migrations.CreateModel(
- name='AboutUkLandingPage',
- fields=[
- ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
- ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
- ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
- ('breadcrumbs_label', models.CharField(max_length=255)),
- ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
- ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
- ('hero_title', models.CharField(max_length=255)),
- ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
- ('hero_title_de', models.CharField(max_length=255, null=True)),
- ('hero_title_ja', models.CharField(max_length=255, null=True)),
- ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
- ('hero_title_fr', models.CharField(max_length=255, null=True)),
- ('hero_title_es', models.CharField(max_length=255, null=True)),
- ('hero_title_pt', models.CharField(max_length=255, null=True)),
- ('hero_title_ar', models.CharField(max_length=255, 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')),
- ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ],
- options={
- 'abstract': False,
- },
- bases=('wagtailcore.page', great_international.panels.great_international.AboutUkLandingPagePanels),
- ),
- migrations.CreateModel(
- name='AboutUkArticlesFields',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
- ('title', models.CharField(blank=True, max_length=255)),
- ('summary', models.TextField(blank=True)),
- ('link_text', models.CharField(blank=True, max_length=255, verbose_name='Link text')),
- ('link_url', models.CharField(blank=True, max_length=255, verbose_name='Link URL')),
- ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
- ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_ar', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_de', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_en_gb', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_es', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_fr', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_ja', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_pt', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ('page_zh_hans', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
- ],
- options={
- 'ordering': ['sort_order'],
- 'abstract': False,
- },
- bases=(models.Model, great_international.panels.great_international.AboutUkArticleFieldPanels),
- ),
- ]
+# Generated by Django 2.2.3 on 2019-07-22 11:45
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+import great_international.panels.great_international
+import modelcluster.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('wagtailcore', '0041_group_collection_permissions_verbose_name_plural'),
+ ('wagtailimages', '0001_squashed_0021'),
+ ('great_international', '0050_investhighpotentialopportunitiespage'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='AboutUkWhyChooseTheUkPage',
+ fields=[
+ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
+ ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
+ ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
+ ('breadcrumbs_label', models.CharField(max_length=255)),
+ ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
+ ('hero_title', models.CharField(max_length=255)),
+ ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
+ ('hero_title_de', models.CharField(max_length=255, null=True)),
+ ('hero_title_ja', models.CharField(max_length=255, null=True)),
+ ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
+ ('hero_title_fr', models.CharField(max_length=255, null=True)),
+ ('hero_title_es', models.CharField(max_length=255, null=True)),
+ ('hero_title_pt', models.CharField(max_length=255, null=True)),
+ ('hero_title_ar', models.CharField(max_length=255, null=True)),
+ ('teaser', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('teaser_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='')),
+ ('section_one_body', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('section_one_body_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks])),
+ ('statistic_1_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_1_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_number_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_1_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_1_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_1_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_2_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_number_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_2_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_2_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_2_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_3_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_number_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_3_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_3_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_3_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_4_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_number_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_4_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_4_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_4_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_5_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_number_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_5_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_5_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_5_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number', models.CharField(blank=True, max_length=255)),
+ ('statistic_6_number_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_number_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading', models.CharField(blank=True, max_length=255)),
+ ('statistic_6_heading_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_heading_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint', models.CharField(blank=True, max_length=255)),
+ ('statistic_6_smallprint_en_gb', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_de', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_ja', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_zh_hans', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_fr', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_es', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_pt', models.CharField(blank=True, max_length=255, null=True)),
+ ('statistic_6_smallprint_ar', models.CharField(blank=True, max_length=255, null=True)),
+ ('contact_us_section_title', models.CharField(blank=True, max_length=255, verbose_name='Title')),
+ ('contact_us_section_title_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_title_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='Title')),
+ ('contact_us_section_summary', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_en_gb', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_de', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_ja', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_zh_hans', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_fr', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_es', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_pt', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_summary_ar', core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary')),
+ ('contact_us_section_cta_text', models.CharField(blank=True, max_length=255, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_text_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA text')),
+ ('contact_us_section_cta_link', models.CharField(blank=True, max_length=255, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_en_gb', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_de', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_ja', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_zh_hans', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_fr', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_es', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_pt', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('contact_us_section_cta_link_ar', models.CharField(blank=True, max_length=255, null=True, verbose_name='CTA URL')),
+ ('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')),
+ ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_ar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_de', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_en_gb', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_es', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_fr', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_ja', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_pt', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('section_one_image_zh_hans', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('wagtailcore.page', great_international.panels.great_international.AboutUkWhyChooseTheUkPagePanels),
+ ),
+ migrations.CreateModel(
+ name='AboutUkLandingPage',
+ fields=[
+ ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
+ ('service_name', models.CharField(choices=[('FIND_A_SUPPLIER', 'Find a Supplier'), ('EXPORT_READINESS', 'Export Readiness'), ('INVEST', 'Invest'), ('COMPONENTS', 'Components'), ('GREAT_INTERNATIONAL', 'Great International')], db_index=True, max_length=100, null=True)),
+ ('uses_tree_based_routing', models.BooleanField(default=False, help_text="Allow this page's URL to be determined by its slug, and the slugs of its ancestors in the page tree.", verbose_name='tree-based routing enabled')),
+ ('breadcrumbs_label', models.CharField(max_length=255)),
+ ('breadcrumbs_label_en_gb', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_de', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ja', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_zh_hans', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_fr', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_es', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_pt', models.CharField(max_length=255, null=True)),
+ ('breadcrumbs_label_ar', models.CharField(max_length=255, null=True)),
+ ('hero_title', models.CharField(max_length=255)),
+ ('hero_title_en_gb', models.CharField(max_length=255, null=True)),
+ ('hero_title_de', models.CharField(max_length=255, null=True)),
+ ('hero_title_ja', models.CharField(max_length=255, null=True)),
+ ('hero_title_zh_hans', models.CharField(max_length=255, null=True)),
+ ('hero_title_fr', models.CharField(max_length=255, null=True)),
+ ('hero_title_es', models.CharField(max_length=255, null=True)),
+ ('hero_title_pt', models.CharField(max_length=255, null=True)),
+ ('hero_title_ar', models.CharField(max_length=255, 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')),
+ ('hero_image_en_gb', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_es', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_fr', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_ja', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_pt', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('hero_image_zh_hans', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ],
+ options={
+ 'abstract': False,
+ },
+ bases=('wagtailcore.page', great_international.panels.great_international.AboutUkLandingPagePanels),
+ ),
+ migrations.CreateModel(
+ name='AboutUkArticlesFields',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('sort_order', models.IntegerField(blank=True, editable=False, null=True)),
+ ('title', models.CharField(blank=True, max_length=255)),
+ ('summary', models.TextField(blank=True)),
+ ('link_text', models.CharField(blank=True, max_length=255, verbose_name='Link text')),
+ ('link_url', models.CharField(blank=True, max_length=255, verbose_name='Link URL')),
+ ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image')),
+ ('page', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_ar', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_de', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_en_gb', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_es', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_fr', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_ja', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_pt', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ('page_zh_hans', modelcluster.fields.ParentalKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='about_uk_articles_fields', to='great_international.AboutUkWhyChooseTheUkPage')),
+ ],
+ options={
+ 'ordering': ['sort_order'],
+ 'abstract': False,
+ },
+ bases=(models.Model, great_international.panels.great_international.AboutUkArticleFieldPanels),
+ ),
+ ]
diff --git a/great_international/migrations/0052_auto_20190723_1147.py b/great_international/migrations/0052_auto_20190723_1147.py
index 52aeb177..bb4c1f1b 100644
--- a/great_international/migrations/0052_auto_20190723_1147.py
+++ b/great_international/migrations/0052_auto_20190723_1147.py
@@ -1,60 +1,60 @@
-# Generated by Django 2.2.3 on 2019-07-23 10:47
-
-import core.model_fields
-import core.validators
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('great_international', '0051_aboutukarticlesfields_aboutuklandingpage_aboutukwhychoosetheukpage'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_ar',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_de',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_en_gb',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_es',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_fr',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_ja',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_pt',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- migrations.AlterField(
- model_name='aboutditservicespage',
- name='contact_us_section_summary_zh_hans',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
- ),
- ]
+# Generated by Django 2.2.3 on 2019-07-23 10:47
+
+import core.model_fields
+import core.validators
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('great_international', '0051_aboutukarticlesfields_aboutuklandingpage_aboutukwhychoosetheukpage'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_ar',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_de',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_en_gb',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_es',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_fr',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_ja',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_pt',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ migrations.AlterField(
+ model_name='aboutditservicespage',
+ name='contact_us_section_summary_zh_hans',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks], verbose_name='Summary'),
+ ),
+ ]
diff --git a/great_international/migrations/0054_auto_20190724_1205.py b/great_international/migrations/0054_auto_20190724_1205.py
index 3a350392..2bb94fba 100644
--- a/great_international/migrations/0054_auto_20190724_1205.py
+++ b/great_international/migrations/0054_auto_20190724_1205.py
@@ -1,287 +1,287 @@
-# Generated by Django 2.2.3 on 2019-07-24 11:05
-
-import core.model_fields
-import core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('wagtailimages', '0001_squashed_0021'),
- ('great_international', '0053_auto_20190724_0950'),
- ]
-
- operations = [
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_ar',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_de',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_en_gb',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_es',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_fr',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_ja',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_pt',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_body_zh_hans',
- field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_ar',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_de',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_en_gb',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_es',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_fr',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_ja',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_pt',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_link_zh_hans',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_ar',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_de',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_en_gb',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_es',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_fr',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_ja',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_pt',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_cta_text_zh_hans',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_ar',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_de',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_en_gb',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_es',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_fr',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_ja',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_pt',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_alt_text_zh_hans',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_ar',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_de',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_en_gb',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_es',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_fr',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_ja',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_pt',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_image_zh_hans',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title',
- field=models.CharField(blank=True, max_length=255),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_ar',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_de',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_en_gb',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_es',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_fr',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_ja',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_pt',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- migrations.AddField(
- model_name='aboutukwhychoosetheukpage',
- name='ebook_section_title_zh_hans',
- field=models.CharField(blank=True, max_length=255, null=True),
- ),
- ]
+# Generated by Django 2.2.3 on 2019-07-24 11:05
+
+import core.model_fields
+import core.validators
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('wagtailimages', '0001_squashed_0021'),
+ ('great_international', '0053_auto_20190724_0950'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_ar',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_de',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_en_gb',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_es',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_fr',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_ja',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_pt',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_body_zh_hans',
+ field=core.model_fields.MarkdownField(blank=True, null=True, validators=[core.validators.slug_hyperlinks]),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_ar',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_de',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_en_gb',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_es',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_fr',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_ja',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_pt',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_link_zh_hans',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_ar',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_de',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_en_gb',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_es',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_fr',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_ja',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_pt',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_cta_text_zh_hans',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_ar',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_de',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_en_gb',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_es',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_fr',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_ja',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_pt',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_alt_text_zh_hans',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_ar',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_de',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_en_gb',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_es',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_fr',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_ja',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_pt',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_image_zh_hans',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.Image'),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title',
+ field=models.CharField(blank=True, max_length=255),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_ar',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_de',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_en_gb',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_es',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_fr',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_ja',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_pt',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ migrations.AddField(
+ model_name='aboutukwhychoosetheukpage',
+ name='ebook_section_title_zh_hans',
+ field=models.CharField(blank=True, max_length=255, null=True),
+ ),
+ ]
diff --git a/requirements.in b/requirements.in
index cbd36df5..7525ca2e 100644
--- a/requirements.in
+++ b/requirements.in
@@ -1,5 +1,5 @@
django==2.2.*
-djangorestframework==3.9.*
+djangorestframework==3.11.*
django-environ==0.4.5
gunicorn==19.5.0
sentry-sdk==0.13.4
@@ -15,7 +15,7 @@ directory-components==20.*
directory-constants==18.*
django-staff-sso-client==1.*
html2text==2018.1.9
-wagtail==2.7.*
+wagtail==2.10.*
wagtailmedia==0.*
pytube==9.2.2
django-filter==2.2.0
@@ -27,7 +27,7 @@ requests==2.21.0
markdown==2.6
bleach==3.*
bleach-whitelist==0.*
-wagtail-modeltranslation==0.*
+wagtail-modeltranslation==0.10.13
urllib3>=1.24.2<2.0.0
w3lib>=1.19.0<2.0.0
django-admin-ip-restrictor==2.1.0
diff --git a/requirements.txt b/requirements.txt
index 4f81c974..3ef55961 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,15 +4,15 @@
#
# pip-compile requirements.in
#
-amqp==2.6.0 # via kombu
-attrs==19.3.0 # via jsonschema
-beautifulsoup4==4.6.0 # via directory-components, wagtail
+amqp==2.6.1 # via kombu
+attrs==20.1.0 # via jsonschema
+beautifulsoup4==4.8.2 # via directory-components, wagtail
billiard==3.6.3.0 # via celery
-bleach-whitelist==0.0.10 # via -r requirements.in
+bleach-whitelist==0.0.11 # via -r requirements.in
bleach==3.1.5 # via -r requirements.in
boto3==1.6.3 # via -r requirements.in
botocore==1.9.23 # via boto3, s3transfer
-celery[redis]==4.4.6 # via -r requirements.in, django-celery-beat
+celery[redis]==4.4.7 # via -r requirements.in, django-celery-beat
certifi==2020.6.20 # via elastic-apm, requests, sentry-sdk
chardet==3.0.4 # via requests
directory-components==20.3.1 # via -r requirements.in
@@ -22,7 +22,7 @@ dj-database-url==0.5.0 # via -r requirements.in
django-admin-ip-restrictor==2.1.0 # via -r requirements.in
django-celery-beat==2.0.0 # via -r requirements.in
django-environ==0.4.5 # via -r requirements.in
-django-filter==2.2.0 # via -r requirements.in
+django-filter==2.2.0 # via -r requirements.in, wagtail
django-health-check==3.8.0 # via directory-healthcheck
django-ipware==2.1.0 # via django-admin-ip-restrictor
django-modelcluster==5.0.2 # via wagtail
@@ -33,14 +33,15 @@ django-staff-sso-client==1.0.1 # via -r requirements.in
django-taggit==1.3.0 # via wagtail
django-timezone-field==4.0 # via django-celery-beat
django-treebeard==4.3.1 # via wagtail
-django==2.2.14 # via -r requirements.in, directory-components, directory-constants, directory-healthcheck, django-admin-ip-restrictor, django-celery-beat, django-filter, django-modeltranslation, django-redis, django-staff-sso-client, django-storages, django-taggit, django-timezone-field, django-treebeard, sigauth, wagtail
+django==2.2.15 # via -r requirements.in, directory-components, directory-constants, directory-healthcheck, django-admin-ip-restrictor, django-celery-beat, django-filter, django-modeltranslation, django-redis, django-staff-sso-client, django-storages, django-taggit, django-timezone-field, django-treebeard, djangorestframework, sigauth, wagtail
django_storages==1.7.1 # via -r requirements.in
-djangorestframework==3.9.4 # via -r requirements.in, sigauth, wagtail
+djangorestframework==3.11.1 # via -r requirements.in, sigauth, wagtail
docopt==0.6.2 # via notifications-python-client, num2words
docutils==0.16 # via botocore
draftjs-exporter==2.1.7 # via wagtail
elastic-apm==5.8.1 # via -r requirements.in
-future==0.18.2 # via celery, notifications-python-client
+et-xmlfile==1.0.1 # via openpyxl
+future==0.18.2 # via notifications-python-client
gevent==20.6.2 # via -r requirements.in
greenlet==0.4.16 # via gevent
gunicorn==19.5.0 # via -r requirements.in
@@ -48,15 +49,18 @@ html2text==2018.1.9 # via -r requirements.in
html5lib==1.1 # via wagtail
idna==2.8 # via requests
importlib-metadata==1.7.0 # via kombu
+jdcal==1.4.1 # via openpyxl
jmespath==0.10.0 # via boto3, botocore
jsonschema==3.0.1 # via directory-components
kombu==4.6.11 # via -r requirements.in, celery
+l18n==2018.5 # via wagtail
markdown==2.6 # via -r requirements.in
mohawk==0.3.4 # via sigauth
monotonic==1.5 # via notifications-python-client
notifications-python-client==5.3.0 # via -r requirements.in
num2words==0.5.10 # via -r requirements.in
oauthlib==3.1.0 # via requests-oauthlib
+openpyxl==3.0.5 # via tablib
packaging==20.4 # via bleach
pillow==7.2.0 # via -r requirements.in, wagtail
psycogreen==1.0.2 # via -r requirements.in
@@ -68,25 +72,30 @@ pyrsistent==0.16.0 # via jsonschema
python-crontab==2.5.1 # via django-celery-beat
python-dateutil==2.6.1 # via botocore, python-crontab
pytube==9.2.2 # via -r requirements.in
-pytz==2020.1 # via celery, django, django-modelcluster, django-timezone-field, wagtail
+pytz==2020.1 # via celery, django, django-modelcluster, django-timezone-field, l18n
redis==3.5.3 # via celery, django-redis
requests-oauthlib==1.3.0 # via django-staff-sso-client
requests==2.21.0 # via -r requirements.in, notifications-python-client, requests-oauthlib, wagtail
s3transfer==0.1.13 # via boto3
sentry-sdk==0.13.4 # via -r requirements.in
sigauth==4.1.0 # via -r requirements.in
-six==1.15.0 # via bleach, django-modeltranslation, html5lib, jsonschema, mohawk, packaging, pyrsistent, python-dateutil, w3lib, wagtail
+six==1.15.0 # via bleach, django-modeltranslation, html5lib, jsonschema, l18n, mohawk, packaging, pyrsistent, python-dateutil, w3lib
+soupsieve==2.0.1 # via beautifulsoup4
sqlparse==0.3.1 # via django
+tablib[xls,xlsx]==2.0.0 # via wagtail
unidecode==1.1.1 # via wagtail
urllib3==1.24.3 # via -r requirements.in, elastic-apm, requests, sentry-sdk
vine==1.3.0 # via amqp, celery
w3lib==1.22.0 # via -r requirements.in
wagtail-modeltranslation==0.10.13 # via -r requirements.in
-wagtail==2.7.4 # via -r requirements.in, wagtail-modeltranslation, wagtailmedia
-wagtailmedia==0.5.0 # via -r requirements.in
+wagtail==2.10 # via -r requirements.in, wagtail-modeltranslation, wagtailmedia
+wagtailmedia==0.6.0 # via -r requirements.in
webencodings==0.5.1 # via bleach, html5lib
whitenoise==4.1.2 # via -r requirements.in
-willow==1.3 # via wagtail
+willow==1.4 # via wagtail
+xlrd==1.2.0 # via tablib
+xlsxwriter==1.3.3 # via wagtail
+xlwt==1.3.0 # via tablib
zipp==3.1.0 # via importlib-metadata
zope.event==4.4 # via gevent
zope.interface==5.1.0 # via gevent
diff --git a/requirements_test.in b/requirements_test.in
index 1fb1263a..03fab5f0 100644
--- a/requirements_test.in
+++ b/requirements_test.in
@@ -8,8 +8,9 @@ flake8
requests_mock
freezegun==0.3.14
coveralls
-factory-boy
+factory-boy==2.*
beautifulsoup4
wagtail-factories
django-debug-toolbar
pip-tools
+codecov
diff --git a/requirements_test.txt b/requirements_test.txt
index a54ff94b..3bd37a65 100644
--- a/requirements_test.txt
+++ b/requirements_test.txt
@@ -4,20 +4,21 @@
#
# pip-compile requirements_test.in
#
-amqp==2.6.0 # via kombu
-attrs==19.3.0 # via jsonschema, pytest
-beautifulsoup4==4.6.0 # via -r requirements_test.in, directory-components, wagtail
+amqp==2.6.1 # via kombu
+attrs==20.1.0 # via jsonschema, pytest
+beautifulsoup4==4.8.2 # via -r requirements_test.in, directory-components, wagtail
billiard==3.6.3.0 # via celery
-bleach-whitelist==0.0.10 # via -r requirements.in
+bleach-whitelist==0.0.11 # via -r requirements.in
bleach==3.1.5 # via -r requirements.in
boto3==1.6.3 # via -r requirements.in
botocore==1.9.23 # via boto3, s3transfer
-celery[redis]==4.4.6 # via -r requirements.in, django-celery-beat
+celery[redis]==4.4.7 # via -r requirements.in, django-celery-beat
certifi==2020.6.20 # via elastic-apm, requests, sentry-sdk
chardet==3.0.4 # via requests
click==7.1.2 # via pip-tools
-coverage==5.2.1 # via coveralls, pytest-cov
-coveralls==2.1.1 # via -r requirements_test.in
+codecov==2.1.9 # via -r requirements_test.in
+coverage==5.2.1 # via codecov, coveralls, pytest-cov
+coveralls==2.1.2 # via -r requirements_test.in
directory-components==20.3.1 # via -r requirements.in
directory-constants==18.7.0 # via -r requirements.in, directory-components
directory-healthcheck==1.1.2 # via -r requirements.in
@@ -26,7 +27,7 @@ django-admin-ip-restrictor==2.1.0 # via -r requirements.in
django-celery-beat==2.0.0 # via -r requirements.in
django-debug-toolbar==2.2 # via -r requirements_test.in
django-environ==0.4.5 # via -r requirements.in
-django-filter==2.2.0 # via -r requirements.in
+django-filter==2.2.0 # via -r requirements.in, wagtail
django-health-check==3.8.0 # via directory-healthcheck
django-ipware==2.1.0 # via django-admin-ip-restrictor
django-modelcluster==5.0.2 # via wagtail
@@ -37,18 +38,19 @@ django-staff-sso-client==1.0.1 # via -r requirements.in
django-taggit==1.3.0 # via wagtail
django-timezone-field==4.0 # via django-celery-beat
django-treebeard==4.3.1 # via wagtail
-django==2.2.14 # via -r requirements.in, directory-components, directory-constants, directory-healthcheck, django-admin-ip-restrictor, django-celery-beat, django-debug-toolbar, django-filter, django-modeltranslation, django-redis, django-staff-sso-client, django-storages, django-taggit, django-timezone-field, django-treebeard, sigauth, wagtail
+django==2.2.15 # via -r requirements.in, directory-components, directory-constants, directory-healthcheck, django-admin-ip-restrictor, django-celery-beat, django-debug-toolbar, django-filter, django-modeltranslation, django-redis, django-staff-sso-client, django-storages, django-taggit, django-timezone-field, django-treebeard, djangorestframework, sigauth, wagtail
django_storages==1.7.1 # via -r requirements.in
-djangorestframework==3.9.4 # via -r requirements.in, sigauth, wagtail
+djangorestframework==3.11.1 # via -r requirements.in, sigauth, wagtail
docopt==0.6.2 # via coveralls, notifications-python-client, num2words
docutils==0.16 # via botocore
draftjs-exporter==2.1.7 # via wagtail
elastic-apm==5.8.1 # via -r requirements.in
+et-xmlfile==1.0.1 # via openpyxl
factory-boy==2.12.0 # via -r requirements_test.in, wagtail-factories
-faker==4.1.1 # via factory-boy
+faker==4.1.2 # via factory-boy
flake8==3.8.3 # via -r requirements_test.in
freezegun==0.3.14 # via -r requirements_test.in
-future==0.18.2 # via celery, notifications-python-client
+future==0.18.2 # via notifications-python-client
gevent==20.6.2 # via -r requirements.in
greenlet==0.4.16 # via gevent
gunicorn==19.5.0 # via -r requirements.in
@@ -57,9 +59,11 @@ html5lib==1.1 # via wagtail
idna==2.8 # via requests
importlib-metadata==1.7.0 # via flake8, kombu, pluggy, pytest
iniconfig==1.0.1 # via pytest
+jdcal==1.4.1 # via openpyxl
jmespath==0.10.0 # via boto3, botocore
jsonschema==3.0.1 # via directory-components
kombu==4.6.11 # via -r requirements.in, celery
+l18n==2018.5 # via wagtail
markdown==2.6 # via -r requirements.in
mccabe==0.6.1 # via flake8
mohawk==0.3.4 # via sigauth
@@ -68,6 +72,7 @@ more-itertools==8.4.0 # via pytest
notifications-python-client==5.3.0 # via -r requirements.in
num2words==0.5.10 # via -r requirements.in
oauthlib==3.1.0 # via requests-oauthlib
+openpyxl==3.0.5 # via tablib
packaging==20.4 # via bleach, pytest, pytest-sugar
pillow==7.2.0 # via -r requirements.in, wagtail
pip-tools==5.3.1 # via -r requirements_test.in
@@ -81,23 +86,25 @@ pyflakes==2.2.0 # via flake8
pyjwt==1.7.1 # via notifications-python-client
pyparsing==2.4.7 # via packaging
pyrsistent==0.16.0 # via jsonschema
-pytest-cov==2.10.0 # via -r requirements_test.in
+pytest-cov==2.10.1 # via -r requirements_test.in
pytest-django==3.9.0 # via -r requirements_test.in
pytest-sugar==0.9.4 # via -r requirements_test.in
pytest==6.0.1 # via -r requirements_test.in, pytest-cov, pytest-django, pytest-sugar
python-crontab==2.5.1 # via django-celery-beat
python-dateutil==2.6.1 # via botocore, faker, freezegun, python-crontab
pytube==9.2.2 # via -r requirements.in
-pytz==2020.1 # via celery, django, django-modelcluster, django-timezone-field, wagtail
+pytz==2020.1 # via celery, django, django-modelcluster, django-timezone-field, l18n
redis==3.5.3 # via celery, django-redis
requests-mock==1.8.0 # via -r requirements_test.in
requests-oauthlib==1.3.0 # via django-staff-sso-client
-requests==2.21.0 # via -r requirements.in, coveralls, notifications-python-client, requests-mock, requests-oauthlib, wagtail
+requests==2.21.0 # via -r requirements.in, codecov, coveralls, notifications-python-client, requests-mock, requests-oauthlib, wagtail
s3transfer==0.1.13 # via boto3
sentry-sdk==0.13.4 # via -r requirements.in
sigauth==4.1.0 # via -r requirements.in
-six==1.15.0 # via bleach, django-modeltranslation, freezegun, html5lib, jsonschema, mohawk, packaging, pip-tools, python-dateutil, requests-mock, w3lib, wagtail
+six==1.15.0 # via bleach, django-modeltranslation, freezegun, html5lib, jsonschema, l18n, mohawk, packaging, pip-tools, pyrsistent, python-dateutil, requests-mock, w3lib
+soupsieve==2.0.1 # via beautifulsoup4
sqlparse==0.3.1 # via django, django-debug-toolbar
+tablib[xls,xlsx]==2.0.0 # via wagtail
termcolor==1.1.0 # via pytest-sugar
text-unidecode==1.3 # via faker
toml==0.10.1 # via pytest
@@ -107,11 +114,14 @@ vine==1.3.0 # via amqp, celery
w3lib==1.22.0 # via -r requirements.in
wagtail-factories==2.0.0 # via -r requirements_test.in
wagtail-modeltranslation==0.10.13 # via -r requirements.in
-wagtail==2.7.4 # via -r requirements.in, wagtail-factories, wagtail-modeltranslation, wagtailmedia
-wagtailmedia==0.5.0 # via -r requirements.in
+wagtail==2.10 # via -r requirements.in, wagtail-factories, wagtail-modeltranslation, wagtailmedia
+wagtailmedia==0.6.0 # via -r requirements.in
webencodings==0.5.1 # via bleach, html5lib
whitenoise==4.1.2 # via -r requirements.in
-willow==1.3 # via wagtail
+willow==1.4 # via wagtail
+xlrd==1.2.0 # via tablib
+xlsxwriter==1.3.3 # via wagtail
+xlwt==1.3.0 # via tablib
zipp==3.1.0 # via importlib-metadata
zope.event==4.4 # via gevent
zope.interface==5.1.0 # via gevent
diff --git a/tests/export_readiness/test_views.py b/tests/export_readiness/test_views.py
index 888edcda..08506fc8 100644
--- a/tests/export_readiness/test_views.py
+++ b/tests/export_readiness/test_views.py
@@ -205,14 +205,14 @@ def test_industry_tags_list_endpoint(client):
{
'id': tag1.pk,
'name': tag1.name,
- 'icon': {'url': ANY, 'width': 100, 'height': 100},
- 'pages_count': 2
+ 'icon': {'url': ANY, 'width': 100, 'height': 100, 'alt': 'An image'},
+ 'pages_count': 2,
},
{
'id': tag2.pk,
'name': tag2.name,
- 'icon': {'url': ANY, 'width': 100, 'height': 100},
- 'pages_count': 1
+ 'icon': {'url': ANY, 'width': 100, 'height': 100, 'alt': 'An image'},
+ 'pages_count': 1,
}
]
diff --git a/tests/users/test_permissions.py b/tests/users/test_permissions.py
index 9eba6e0a..0c84a01a 100644
--- a/tests/users/test_permissions.py
+++ b/tests/users/test_permissions.py
@@ -18,16 +18,16 @@ def test_branch_editors_should_only_see_pages_from_their_branch(root_page, inter
Editors should only see app pages that share common root page
"""
env = two_branches_with_users(root_page, international_root_page)
-
+ admin_api_url = reverse('wagtailadmin_api:pages:listing')
resp_1 = env.editor_1_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.landing_1.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.landing_1.pk}&for_explorer=1'
)
assert resp_1.status_code == status.HTTP_200_OK
assert resp_1.json()['meta']['total_count'] == 1
assert resp_1.json()['items'][0]['id'] == env.listing_1.pk
resp_2 = env.editor_2_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.landing_2.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.landing_2.pk}&for_explorer=1'
)
assert resp_2.status_code == status.HTTP_200_OK
assert resp_2.json()['meta']['total_count'] == 1
@@ -64,9 +64,9 @@ def test_branch_moderators_should_only_see_pages_from_their_branch(root_page, in
Moderators should only see app pages that share common root page
"""
env = two_branches_with_users(root_page, international_root_page)
-
+ admin_api_url = reverse('wagtailadmin_api:pages:listing')
resp_1 = env.moderator_1_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.landing_1.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.landing_1.pk}&for_explorer=1'
)
assert resp_1.status_code == status.HTTP_200_OK
assert resp_1.json()['meta']['total_count'] == 1
@@ -134,6 +134,7 @@ def test_moderators_can_approve_revisions_only_for_pages_in_their_branch(
])
def test_branch_user_can_create_child_pages_in_it(branch_factory, root_page):
branch = branch_factory.get(root_page)
+ admin_api_url = reverse('wagtailadmin_api:pages:listing')
data = {
'type_of_article': 'Blog',
'article_title': 'test article',
@@ -160,7 +161,7 @@ def test_branch_user_can_create_child_pages_in_it(branch_factory, root_page):
# check if new page is visible in the 'Pages' menu
new_article_id = int(resp_1.url.split('/')[3]) # format is '/admin/pages/6/edit/' # NOQA
resp_2 = branch.client.get(
- f'/admin/api/v2beta/pages/?child_of={branch.listing.pk}&for_explorer=1' # NOQA
+ f'{admin_api_url}?child_of={branch.listing.pk}&for_explorer=1' # NOQA
)
assert resp_2.status_code == status.HTTP_200_OK
assert resp_2.json()['meta']['total_count'] == 2
@@ -342,7 +343,7 @@ def test_branch_user_can_submit_changes_for_moderation(
)
# on success, user should be redirected on parent page listing
assert resp.status_code == status.HTTP_302_FOUND, resp.context['form'].errors # NOQA
- assert int(resp.url.split('/')[3]) == branch.listing.pk # format is /admin/pages/3/ # NOQA
+ assert int(resp.url.split('/')[3]) == branch.article.pk # format is /admin/pages/3/ # NOQA
@pytest.mark.django_db
@@ -466,6 +467,7 @@ def test_moderators_and_admins_can_unpublish_child_pages(
branch_factory, root_page
):
branch = branch_factory.get(root_page)
+ admin_api_url = reverse('wagtailadmin_api:pages:listing')
resp = branch.client.post(
reverse('wagtailadmin_pages:unpublish', args=[branch.article.pk])
@@ -474,7 +476,7 @@ def test_moderators_and_admins_can_unpublish_child_pages(
assert int(resp.url.split('/')[3]) == branch.listing.pk # format is /admin/pages/4/ # NOQA
resp_2 = branch.client.get(
- f'/admin/api/v2beta/pages/?child_of={branch.listing.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={branch.listing.pk}&for_explorer=1'
)
assert resp_2.status_code == status.HTTP_200_OK
article_status = resp_2.json()['items'][0]['meta']['status']
@@ -609,24 +611,24 @@ def test_moderators_cannot_reject_revision_from_other_branch(root_page, internat
@pytest.mark.django_db
def test_admins_should_be_able_to_access_all_pages_in_any_branch(root_page, international_root_page):
env = two_branches_with_users(root_page, international_root_page)
-
+ admin_api_url = reverse('wagtailadmin_api:pages:listing')
resp_1 = env.admin_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.landing_1.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.landing_1.pk}&for_explorer=1'
)
assert resp_1.status_code == status.HTTP_200_OK
resp_2 = env.admin_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.landing_2.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.landing_2.pk}&for_explorer=1'
)
assert resp_2.status_code == status.HTTP_200_OK
resp_3 = env.admin_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.article_1.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.article_1.pk}&for_explorer=1'
)
assert resp_3.status_code == status.HTTP_200_OK
resp_4 = env.admin_client.get(
- f'/admin/api/v2beta/pages/?child_of={env.article_2.pk}&for_explorer=1'
+ f'{admin_api_url}?child_of={env.article_2.pk}&for_explorer=1'
)
assert resp_4.status_code == status.HTTP_200_OK