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