From 2bc2907fb720208ce9cd3b90b1d81f60b4fc5086 Mon Sep 17 00:00:00 2001
From: Dan Nepejchal <dan.nepejchal@european-pirateparty.eu>
Date: Sun, 10 Jan 2021 23:57:32 +0100
Subject: [PATCH] Fix: - navigation - parent_page_types

---
 .../migrations/0004_auto_20210110_2351.py     | 371 ++++++++++++++++++
 green_deal/models.py                          |   9 +-
 2 files changed, 379 insertions(+), 1 deletion(-)
 create mode 100644 green_deal/migrations/0004_auto_20210110_2351.py

diff --git a/green_deal/migrations/0004_auto_20210110_2351.py b/green_deal/migrations/0004_auto_20210110_2351.py
new file mode 100644
index 00000000..a79bd585
--- /dev/null
+++ b/green_deal/migrations/0004_auto_20210110_2351.py
@@ -0,0 +1,371 @@
+# Generated by Django 3.1.1 on 2021-01-10 22:51
+
+import datetime
+
+import wagtail.core.blocks
+import wagtail.core.fields
+import wagtail.images.blocks
+from django.db import migrations
+from django.utils.timezone import utc
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("green_deal", "0003_auto_20210107_1120"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="greendealhomepage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "text_2_columns",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "left_text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ],
+                                        label="levĂ˝ sloupec",
+                                    ),
+                                ),
+                                (
+                                    "right_text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ],
+                                        label="pravĂ˝ sloupec",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "text_1_column",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                ("header", wagtail.core.blocks.CharBlock()),
+                                (
+                                    "text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ]
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "FAQ_columns",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "left_text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ],
+                                        label="levĂ˝ sloupec",
+                                    ),
+                                ),
+                                (
+                                    "faqs",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.StructBlock(
+                                            [
+                                                (
+                                                    "question",
+                                                    wagtail.core.blocks.TextBlock(),
+                                                ),
+                                                (
+                                                    "answer",
+                                                    wagtail.core.blocks.RichTextBlock(),
+                                                ),
+                                            ]
+                                        ),
+                                        label="faq",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "news",
+                        wagtail.core.blocks.ListBlock(
+                            wagtail.core.blocks.StructBlock(
+                                [
+                                    ("header", wagtail.core.blocks.CharBlock()),
+                                    (
+                                        "perex",
+                                        wagtail.core.blocks.RichTextBlock(
+                                            features=[
+                                                "h2",
+                                                "h3",
+                                                "h4",
+                                                "h5",
+                                                "bold",
+                                                "italic",
+                                                "ol",
+                                                "ul",
+                                                "hr",
+                                                "link",
+                                                "document-link",
+                                                "image",
+                                            ]
+                                        ),
+                                    ),
+                                    ("img", wagtail.images.blocks.ImageChooserBlock()),
+                                    ("link", wagtail.core.blocks.URLBlock()),
+                                    (
+                                        "date",
+                                        wagtail.core.blocks.DateBlock(
+                                            default=datetime.datetime(
+                                                2021,
+                                                1,
+                                                10,
+                                                22,
+                                                51,
+                                                27,
+                                                691203,
+                                                tzinfo=utc,
+                                            )
+                                        ),
+                                    ),
+                                ]
+                            ),
+                            label="aktuality",
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="obsah stránky",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="greendealsubpage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "text_2_columns",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "left_text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ],
+                                        label="levĂ˝ sloupec",
+                                    ),
+                                ),
+                                (
+                                    "right_text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ],
+                                        label="pravĂ˝ sloupec",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "text_1_column",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                ("header", wagtail.core.blocks.CharBlock()),
+                                (
+                                    "text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ]
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "FAQ_columns",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "left_text",
+                                    wagtail.core.blocks.RichTextBlock(
+                                        features=[
+                                            "h2",
+                                            "h3",
+                                            "h4",
+                                            "h5",
+                                            "bold",
+                                            "italic",
+                                            "ol",
+                                            "ul",
+                                            "hr",
+                                            "link",
+                                            "document-link",
+                                            "image",
+                                        ],
+                                        label="levĂ˝ sloupec",
+                                    ),
+                                ),
+                                (
+                                    "faqs",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.StructBlock(
+                                            [
+                                                (
+                                                    "question",
+                                                    wagtail.core.blocks.TextBlock(),
+                                                ),
+                                                (
+                                                    "answer",
+                                                    wagtail.core.blocks.RichTextBlock(),
+                                                ),
+                                            ]
+                                        ),
+                                        label="faq",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "news",
+                        wagtail.core.blocks.ListBlock(
+                            wagtail.core.blocks.StructBlock(
+                                [
+                                    ("header", wagtail.core.blocks.CharBlock()),
+                                    (
+                                        "perex",
+                                        wagtail.core.blocks.RichTextBlock(
+                                            features=[
+                                                "h2",
+                                                "h3",
+                                                "h4",
+                                                "h5",
+                                                "bold",
+                                                "italic",
+                                                "ol",
+                                                "ul",
+                                                "hr",
+                                                "link",
+                                                "document-link",
+                                                "image",
+                                            ]
+                                        ),
+                                    ),
+                                    ("img", wagtail.images.blocks.ImageChooserBlock()),
+                                    ("link", wagtail.core.blocks.URLBlock()),
+                                    (
+                                        "date",
+                                        wagtail.core.blocks.DateBlock(
+                                            default=datetime.datetime(
+                                                2021,
+                                                1,
+                                                10,
+                                                22,
+                                                51,
+                                                27,
+                                                691203,
+                                                tzinfo=utc,
+                                            )
+                                        ),
+                                    ),
+                                ]
+                            ),
+                            label="aktuality",
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="obsah stránky",
+            ),
+        ),
+    ]
diff --git a/green_deal/models.py b/green_deal/models.py
index e8321a36..69caa33e 100644
--- a/green_deal/models.py
+++ b/green_deal/models.py
@@ -175,6 +175,9 @@ class GreenDealSubPage(Page, MetadataPageMixin):
 
     ### RELATIONS
 
+    parent_page_types = [
+        "green_deal.GreenDealHomePage",
+    ]
     subpage_types = [
         "green_deal.GreenDealSubPage",
     ]
@@ -186,4 +189,8 @@ class GreenDealSubPage(Page, MetadataPageMixin):
 
     @property
     def root_page(self):
-        return self
+        if not hasattr(self, "_root_page"):
+            self._root_page = (
+                self.get_ancestors().type(GreenDealHomePage).specific().last()
+            )
+        return self._root_page
-- 
GitLab