From 098e0a6352639a1664ee8fe5c13a883b2f1f7033 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=A0t=C4=9Bp=C3=A1n=20Farka?= <stepanfarka11@gmail.com>
Date: Fri, 1 Apr 2022 13:06:33 +0200
Subject: [PATCH] [ADD] cross choosing person option

---
 district/blocks.py                            |   5 +-
 ..._districtcrossroadpage_content_and_more.py | 126 ++++++++++++++++++
 .../district/blocks/people_group_block.html   |   2 +-
 region/blocks.py                              |   5 +-
 ...er_regioncrossroadpage_content_and_more.py | 126 ++++++++++++++++++
 .../region/blocks/people_group_block.html     |   2 +-
 6 files changed, 262 insertions(+), 4 deletions(-)
 create mode 100644 district/migrations/0050_alter_districtcrossroadpage_content_and_more.py
 create mode 100644 region/migrations/0025_alter_regioncrossroadpage_content_and_more.py

diff --git a/district/blocks.py b/district/blocks.py
index b3a58725..7789d36b 100644
--- a/district/blocks.py
+++ b/district/blocks.py
@@ -187,7 +187,10 @@ class HomepageSimpleHeaderBlock(StructBlock):
 class PeopleGroupListBlock(StructBlock):
     group_title = CharBlock(label="Titulek", required=True)
     person_list = ListBlock(
-        PageChooserBlock(label="Osoba", page_type=["district.DistrictPersonPage"]),
+        PageChooserBlock(
+            label="Osoba",
+            page_type=["district.DistrictPersonPage", "region.RegionPersonPage"],
+        ),
         label="List osob",
     )
 
diff --git a/district/migrations/0050_alter_districtcrossroadpage_content_and_more.py b/district/migrations/0050_alter_districtcrossroadpage_content_and_more.py
new file mode 100644
index 00000000..bc474329
--- /dev/null
+++ b/district/migrations/0050_alter_districtcrossroadpage_content_and_more.py
@@ -0,0 +1,126 @@
+# Generated by Django 4.0.3 on 2022-04-01 10:49
+
+import wagtail.contrib.table_block.blocks
+import wagtail.core.blocks
+import wagtail.core.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("district", "0049_alter_districtcrossroadpage_cards_content"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="districtcrossroadpage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "people_group",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "group_title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "person_list",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.PageChooserBlock(
+                                            label="Osoba",
+                                            page_type=[
+                                                "district.DistrictPersonPage",
+                                                "region.RegionPersonPage",
+                                            ],
+                                        ),
+                                        label="List osob",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    )
+                ],
+                blank=True,
+                verbose_name="Obsah stránky",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="districtcustompage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    ("text", wagtail.core.blocks.RichTextBlock()),
+                    ("table", wagtail.contrib.table_block.blocks.TableBlock()),
+                    (
+                        "people_group",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "group_title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "person_list",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.PageChooserBlock(
+                                            label="Osoba",
+                                            page_type=[
+                                                "district.DistrictPersonPage",
+                                                "region.RegionPersonPage",
+                                            ],
+                                        ),
+                                        label="List osob",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="Obsah",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="districtpeoplepage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "people_group",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "group_title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "person_list",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.PageChooserBlock(
+                                            label="Osoba",
+                                            page_type=[
+                                                "district.DistrictPersonPage",
+                                                "region.RegionPersonPage",
+                                            ],
+                                        ),
+                                        label="List osob",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    )
+                ],
+                blank=True,
+                verbose_name="Obsah stránky",
+            ),
+        ),
+    ]
diff --git a/district/templates/district/blocks/people_group_block.html b/district/templates/district/blocks/people_group_block.html
index af30db41..3b8131e7 100644
--- a/district/templates/district/blocks/people_group_block.html
+++ b/district/templates/district/blocks/people_group_block.html
@@ -3,6 +3,6 @@
 </h2>
 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 row-gap-8 col-gap-8">
   {% for person_page in self.person_list %}
-    {% include "shared/person_badge_snippet.html" %}
+    {% include "shared/person_badge_snippet.html" with person_page=person_page.specific %}
   {% endfor %}
 </div>
diff --git a/region/blocks.py b/region/blocks.py
index 2aa72482..95fd1432 100644
--- a/region/blocks.py
+++ b/region/blocks.py
@@ -187,7 +187,10 @@ class HomepageSimpleHeaderBlock(StructBlock):
 class PeopleGroupListBlock(StructBlock):
     group_title = CharBlock(label="Titulek", required=True)
     person_list = ListBlock(
-        PageChooserBlock(label="Osoba", page_type=["region.RegionPersonPage"]),
+        PageChooserBlock(
+            label="Osoba",
+            page_type=["district.DistrictPersonPage", "region.RegionPersonPage"],
+        ),
         label="List osob",
     )
 
diff --git a/region/migrations/0025_alter_regioncrossroadpage_content_and_more.py b/region/migrations/0025_alter_regioncrossroadpage_content_and_more.py
new file mode 100644
index 00000000..564ad886
--- /dev/null
+++ b/region/migrations/0025_alter_regioncrossroadpage_content_and_more.py
@@ -0,0 +1,126 @@
+# Generated by Django 4.0.3 on 2022-04-01 10:48
+
+import wagtail.contrib.table_block.blocks
+import wagtail.core.blocks
+import wagtail.core.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("region", "0024_alter_regioncrossroadpage_cards_content"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="regioncrossroadpage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "people_group",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "group_title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "person_list",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.PageChooserBlock(
+                                            label="Osoba",
+                                            page_type=[
+                                                "district.DistrictPersonPage",
+                                                "region.RegionPersonPage",
+                                            ],
+                                        ),
+                                        label="List osob",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    )
+                ],
+                blank=True,
+                verbose_name="Obsah stránky",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="regioncustompage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    ("text", wagtail.core.blocks.RichTextBlock()),
+                    ("table", wagtail.contrib.table_block.blocks.TableBlock()),
+                    (
+                        "people_group",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "group_title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "person_list",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.PageChooserBlock(
+                                            label="Osoba",
+                                            page_type=[
+                                                "district.DistrictPersonPage",
+                                                "region.RegionPersonPage",
+                                            ],
+                                        ),
+                                        label="List osob",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="Obsah",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="regionpeoplepage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "people_group",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "group_title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "person_list",
+                                    wagtail.core.blocks.ListBlock(
+                                        wagtail.core.blocks.PageChooserBlock(
+                                            label="Osoba",
+                                            page_type=[
+                                                "district.DistrictPersonPage",
+                                                "region.RegionPersonPage",
+                                            ],
+                                        ),
+                                        label="List osob",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    )
+                ],
+                blank=True,
+                verbose_name="Obsah stránky",
+            ),
+        ),
+    ]
diff --git a/region/templates/region/blocks/people_group_block.html b/region/templates/region/blocks/people_group_block.html
index af30db41..3b8131e7 100644
--- a/region/templates/region/blocks/people_group_block.html
+++ b/region/templates/region/blocks/people_group_block.html
@@ -3,6 +3,6 @@
 </h2>
 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 row-gap-8 col-gap-8">
   {% for person_page in self.person_list %}
-    {% include "shared/person_badge_snippet.html" %}
+    {% include "shared/person_badge_snippet.html" with person_page=person_page.specific %}
   {% endfor %}
 </div>
-- 
GitLab