Skip to content
Snippets Groups Projects
Commit 61502f41 authored by Alexa Valentová's avatar Alexa Valentová
Browse files

WIP - clean up blocks, run hooks

parent b486adba
No related branches found
No related tags found
2 merge requests!1025Migrate people group blocks,!1024Clean up blocks, migrate PeopleGroupBlock design
Pipeline #18740 passed
from django.forms.utils import ErrorList
from django.utils.text import slugify
from wagtail import blocks
from wagtail.blocks import (
BooleanBlock,
CharBlock,
DateTimeBlock,
IntegerBlock,
ListBlock,
PageChooserBlock,
RichTextBlock,
......@@ -14,7 +12,6 @@ from wagtail.blocks import (
TextBlock,
URLBlock,
)
from wagtail.blocks.struct_block import StructBlockValidationError
from wagtail.images.blocks import ImageChooserBlock
from shared.blocks import CandidateBlock as SharedCandidateBlockMixin
......@@ -31,7 +28,6 @@ from shared.blocks import (
ProgramGroupBlockMixin,
)
from shared.blocks import ProgramGroupBlockPopout as SharedProgramGroupBlockPopout
from shared.blocks import ProgramItemBlock
from shared.blocks import SecondaryCandidateBlock as SharedSecondaryCandidateBlockMixin
# --- BEGIN New blocks ---
......@@ -281,52 +277,6 @@ class SimplePersonBlock(StructBlock):
label = "Osoba blok"
class CardLinkBlock(CardLinkBlockMixin):
page = PageChooserBlock(
label="Stránka",
page_type=[
"district.DistrictArticlePage",
"district.DistrictArticlesPage",
"district.DistrictCenterPage",
"district.DistrictContactPage",
"district.DistrictCrossroadPage",
"district.DistrictCustomPage",
"district.DistrictPeoplePage",
"district.DistrictPersonPage",
"district.DistrictNewProgramPage",
],
required=False,
)
class Meta:
template = "district/blocks/card_link_block.html"
icon = "link"
label = "Karta s odkazem"
class HomepageHeaderBlock(StructBlock):
title = CharBlock(label="Titulek", required=False, help_text="Nap")
image = ImageChooserBlock()
button_text = CharBlock(label="Text tlačítka", required=False)
button_link = URLBlock(label="Odkaz tlačítka", required=False)
class Meta:
template = "district/blocks/homepage_header_block.html"
icon = "placeholder"
label = "Nadpis s obrázkem a tlačítky"
class HomepageSimpleHeaderBlock(StructBlock):
title = CharBlock(label="Titulek", required=False)
subtitle = CharBlock(label="Podtitulek", required=False)
image = ImageChooserBlock()
class Meta:
template = "district/blocks/homepage_simple_header_block.html"
icon = "image"
label = "Nadpis s obrázkem v pozadí"
class PersonBadgeBlock(StructBlock):
person = PageChooserBlock(
label="Osoba", page_type=("district.DistrictPersonPage",), required=True
......@@ -343,19 +293,6 @@ class PersonBadgeBlock(StructBlock):
label = "Vizitka"
class PeopleGroupListBlock(StructBlock):
group_title = CharBlock(label="Titulek", required=True)
person_list = ListBlock(
PersonContactBlock(),
label="List osob",
)
class Meta:
template = "district/blocks/people_group_block.html"
icon = "list-ul"
label = "Skupina členů"
class PersonUrlBlock(StructBlock):
title = CharBlock(label="Název", required=True)
url = URLBlock(label="URL", required=True)
......@@ -366,130 +303,6 @@ class PersonUrlBlock(StructBlock):
)
class InteractiveProgramItemBlock(StructBlock):
content = RichTextBlock(label="Obsah", required=True)
class InteractiveProgramBlock(StructBlock):
name = CharBlock(label="Název části programu", required=True)
heading = CharBlock(label="Nadpis", required=True)
description = RichTextBlock(
label="Krátký popis, BEZ BODŮ", required=False, blank=True
)
icon = blocks.ChoiceBlock(
label="Ikona",
required=True,
choices=[
("verejne-sluzby", "Veřejné služby"),
("zdravotni-pece", "Zdravotní péče"),
("sport", "Sport"),
("sport-plavec", "Sport - plavec"),
("socialni-politika", "Sociální politika"),
("aktivni-verejnost", "Aktivní veřejnost"),
("priroda", "Příroda"),
("vzdelavani", "Vzdělávání"),
("kultura", "Kultura"),
("otevrena-radnice", "Otevřená radnice"),
("cestovni-ruch", "Cestovní ruch"),
("doprava", "Doprava"),
("bydleni", "Bydlení"),
],
)
program_items = ListBlock(
InteractiveProgramItemBlock(), label="Seznam bodů", required=True
)
class Meta:
template = "district/blocks/interactive_program_block.html"
icon = "list-ul"
label = "Část programu"
class StaticProgramBlock(StructBlock):
headline = CharBlock(label="Titulek bloku", required=True)
perex = TextBlock(label="Krátký text pod nadpisem", required=True)
person = PersonContactBlock()
completion_percentage = IntegerBlock(label="Procento dokončení", required=True)
program_items = ListBlock(ProgramItemBlock(), label="Seznam bodů")
class Meta:
template = "district/blocks/program_block.html"
icon = "list-ul"
label = "Blok programu"
class RedmineProgramBlock(StructBlock):
headline = CharBlock(label="Titulek bloku", required=True)
perex = TextBlock(label="Krátký text pod nadpisem", required=True)
person = PersonContactBlock()
redmine_issue = IntegerBlock(label="Číslo Redmine issue", required=True)
completion_percentage = IntegerBlock(
label="Procento dokončení - bude doplněno automaticky",
required=False,
help_text="Hodnota se automaticky načte s Redmine",
)
program_items = ListBlock(
ProgramItemBlock(),
label="Seznam bodů - bude doplněno automaticky",
help_text="Hodnota se automaticky načte s Redmine",
required=False,
)
class Meta:
template = "district/blocks/program_block.html"
icon = "site"
label = "Blok programu stahovaný z Redmine"
class HeroBannerBlock(StructBlock):
sm_banner = ImageChooserBlock(
label="Obrázek pro zobrazení menší než 640px", required=True
)
md_banner = ImageChooserBlock(
label="Obrázek pro zobrazení větší než 768px", required=True
)
lg_banner = ImageChooserBlock(
label="Obrázek pro zobrazení větší než 1024px", required=True
)
xl_banner = ImageChooserBlock(
label="Obrázek pro zobrazení větší než 1280px", required=True
)
xxl_banner = ImageChooserBlock(
label="Obrázek pro zobrazení větší než 1536px", required=True
)
title = CharBlock(label="Titulek bloku", required=False)
subtitle = CharBlock(label="Podtitulek", required=False)
button_text = CharBlock(label="Text tlačítka", required=False)
button_link = URLBlock(label="Odkaz tlačítka", required=False)
def clean(self, value):
errors = {}
if value["button_link"] and not value["button_text"]:
errors["button_text"] = ErrorList(
["Zadejte prosím text tlačítka, nebo smažte odkaz v tlačítku"]
)
if not value["button_link"] and value["button_text"]:
errors["button_link"] = ErrorList(
["Zadejte prosím odkaz tlačítka, nebo smažte text v tlačítku"]
)
if errors:
raise StructBlockValidationError(errors)
return super().clean(value)
class Meta:
template = "district/blocks/hero_banner_block.html"
icon = "image"
label = "Hero banner"
class ArticlesBlock(StructBlock):
articles = ListBlock(
PageChooserBlock(
......
......@@ -4,16 +4,21 @@ import wagtail
from django.apps import apps as base_apps
from django.contrib.contenttypes.management import create_contenttypes
from django.db import migrations, transaction
from wagtail.blocks import (
CharBlock,
RichTextBlock,
StreamBlock,
StructBlock,
)
from district.blocks import (
CandidateListBlock,
CandidateSecondaryListBlock,
CarouselProgramBlock,
ProgramGroupBlock,
ProgramGroupBlockCrossroad,
ProgramGroupBlockPopout,
CarouselProgramBlock,
CandidateListBlock,
CandidateSecondaryListBlock
)
from wagtail.blocks import StructBlock, CharBlock, RichTextBlock, BooleanBlock, StreamBlock
from shared.blocks import SocialLinkBlock
......@@ -55,7 +60,6 @@ def migrate_programs(apps, schema_editor):
]
)
# Get the models
DistrictHomePage = apps.get_model("district", "DistrictHomePage")
......
......@@ -4,12 +4,13 @@ import wagtail.blocks
import wagtail.fields
import wagtail.images.blocks
from django.db import migrations
from district.blocks import PeopleGroupBlock
def migrate_people(apps, schema_editor):
DistrictPeoplePage = apps.get_model("district", "DistrictPeoplePage")
DistrictPersonPage = apps.get_model("district", "DistrictPersonPage")
apps.get_model("district", "DistrictPersonPage")
for page in DistrictPeoplePage.objects.all():
prep_value = page.people.get_prep_value()
......@@ -51,16 +52,166 @@ def migrate_people(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
('district', '0231_alter_districtnewprogrampage_program'),
("district", "0231_alter_districtnewprogrampage_program"),
]
operations = [
migrations.AlterField(
model_name='districtpeoplepage',
name='people',
field=wagtail.fields.StreamField([('people_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug skupiny', required=False)), ('person_list', wagtail.blocks.ListBlock(wagtail.blocks.PageChooserBlock(label='Detail osoby', page_type=['district.DistrictPersonPage']), label='Skupina osob')), ('person_list_with_custom_positions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Detail osoby', page_type=['district.DistrictPersonPage'])), ('position', wagtail.blocks.CharBlock(label='Pozice', required=False))]), label='Skupina osob (nastavitelné pozice)'))], label='Seznam osob')), ('team_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název sekce týmů')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug sekce', required=False)), ('team_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('headline', wagtail.blocks.CharBlock(label='Titulek bloku', required=False)), ('card_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictGeoFeatureCollectionPage', 'district.DistrictCalendarPage', 'district.DistrictPdfPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))], template='styleguide2/includes/molecules/boxes/card_box_block.html'), label='Karty s odkazy'))], label='Karta týmu'), label='Týmy'))]))], blank=True, verbose_name='Lidé a týmy'),
model_name="districtpeoplepage",
name="people",
field=wagtail.fields.StreamField(
[
(
"people_group",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.CharBlock(label="Titulek")),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug skupiny",
required=False,
),
),
(
"person_list",
wagtail.blocks.ListBlock(
wagtail.blocks.PageChooserBlock(
label="Detail osoby",
page_type=["district.DistrictPersonPage"],
),
label="Skupina osob",
),
),
(
"person_list_with_custom_positions",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"page",
wagtail.blocks.PageChooserBlock(
label="Detail osoby",
page_type=[
"district.DistrictPersonPage"
],
),
),
(
"position",
wagtail.blocks.CharBlock(
label="Pozice", required=False
),
),
]
),
label="Skupina osob (nastavitelné pozice)",
),
),
],
label="Seznam osob",
),
),
(
"team_group",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(label="Název sekce týmů"),
),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug sekce",
required=False,
),
),
(
"team_list",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"headline",
wagtail.blocks.CharBlock(
label="Titulek bloku",
required=False,
),
),
(
"card_items",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"image",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek"
),
),
(
"title",
wagtail.blocks.CharBlock(
label="Titulek",
required=True,
),
),
(
"text",
wagtail.blocks.RichTextBlock(
label="Krátký text pod nadpisem",
required=False,
),
),
(
"page",
wagtail.blocks.PageChooserBlock(
label="Stránka",
page_type=[
"district.DistrictArticlesPage",
"district.DistrictCenterPage",
"district.DistrictContactPage",
"district.DistrictCrossroadPage",
"district.DistrictCustomPage",
"district.DistrictPeoplePage",
"district.DistrictGeoFeatureCollectionPage",
"district.DistrictCalendarPage",
"district.DistrictPdfPage",
"district.DistrictNewProgramPage",
],
required=False,
),
),
(
"link",
wagtail.blocks.URLBlock(
label="Odkaz",
required=False,
),
),
],
template="styleguide2/includes/molecules/boxes/card_box_block.html",
),
label="Karty s odkazy",
),
),
],
label="Karta týmu",
),
label="Týmy",
),
),
]
),
),
],
blank=True,
verbose_name="Lidé a týmy",
),
),
migrations.RunPython(migrate_people)
migrations.RunPython(migrate_people),
]
......@@ -7,15 +7,155 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('district', '0232_alter_districtpeoplepage_people'),
("district", "0232_alter_districtpeoplepage_people"),
]
operations = [
migrations.AlterField(
model_name='districtpeoplepage',
name='people',
field=wagtail.fields.StreamField([('people_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug skupiny', required=False)), ('person_list_with_custom_positions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Detail osoby', page_type=['district.DistrictPersonPage'])), ('position', wagtail.blocks.CharBlock(label='Pozice', required=False))]), label='Skupina osob (nastavitelné pozice)'))], label='Seznam osob')), ('team_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název sekce týmů')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug sekce', required=False)), ('team_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('headline', wagtail.blocks.CharBlock(label='Titulek bloku', required=False)), ('card_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictGeoFeatureCollectionPage', 'district.DistrictCalendarPage', 'district.DistrictPdfPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))], template='styleguide2/includes/molecules/boxes/card_box_block.html'), label='Karty s odkazy'))], label='Karta týmu'), label='Týmy'))]))], blank=True, verbose_name='Lidé a týmy'),
model_name="districtpeoplepage",
name="people",
field=wagtail.fields.StreamField(
[
(
"people_group",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.CharBlock(label="Titulek")),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug skupiny",
required=False,
),
),
(
"person_list_with_custom_positions",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"page",
wagtail.blocks.PageChooserBlock(
label="Detail osoby",
page_type=[
"district.DistrictPersonPage"
],
),
),
(
"position",
wagtail.blocks.CharBlock(
label="Pozice", required=False
),
),
]
),
label="Skupina osob (nastavitelné pozice)",
),
),
],
label="Seznam osob",
),
),
(
"team_group",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(label="Název sekce týmů"),
),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug sekce",
required=False,
),
),
(
"team_list",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"headline",
wagtail.blocks.CharBlock(
label="Titulek bloku",
required=False,
),
),
(
"card_items",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"image",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek"
),
),
(
"title",
wagtail.blocks.CharBlock(
label="Titulek",
required=True,
),
),
(
"text",
wagtail.blocks.RichTextBlock(
label="Krátký text pod nadpisem",
required=False,
),
),
(
"page",
wagtail.blocks.PageChooserBlock(
label="Stránka",
page_type=[
"district.DistrictArticlesPage",
"district.DistrictCenterPage",
"district.DistrictContactPage",
"district.DistrictCrossroadPage",
"district.DistrictCustomPage",
"district.DistrictPeoplePage",
"district.DistrictGeoFeatureCollectionPage",
"district.DistrictCalendarPage",
"district.DistrictPdfPage",
"district.DistrictNewProgramPage",
],
required=False,
),
),
(
"link",
wagtail.blocks.URLBlock(
label="Odkaz",
required=False,
),
),
],
template="styleguide2/includes/molecules/boxes/card_box_block.html",
),
label="Karty s odkazy",
),
),
],
label="Karta týmu",
),
label="Týmy",
),
),
]
),
),
],
blank=True,
verbose_name="Lidé a týmy",
),
),
]
......@@ -7,15 +7,157 @@ from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('district', '0233_alter_districtpeoplepage_people'),
("district", "0233_alter_districtpeoplepage_people"),
]
operations = [
migrations.AlterField(
model_name='districtpeoplepage',
name='people',
field=wagtail.fields.StreamField([('people_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug skupiny', required=False)), ('person_list_with_custom_positions', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Detail osoby', page_type=['district.DistrictPersonPage'])), ('position', wagtail.blocks.CharBlock(help_text='Pokud není pozice vyplněná, použije se pozice ze stránky osoby.', label='Pozice', required=False))]), label='Skupina osob'))], label='Seznam osob')), ('team_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Název sekce týmů')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug sekce', required=False)), ('team_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('headline', wagtail.blocks.CharBlock(label='Titulek bloku', required=False)), ('card_items', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictGeoFeatureCollectionPage', 'district.DistrictCalendarPage', 'district.DistrictPdfPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))], template='styleguide2/includes/molecules/boxes/card_box_block.html'), label='Karty s odkazy'))], label='Karta týmu'), label='Týmy'))]))], blank=True, verbose_name='Lidé a týmy'),
model_name="districtpeoplepage",
name="people",
field=wagtail.fields.StreamField(
[
(
"people_group",
wagtail.blocks.StructBlock(
[
("title", wagtail.blocks.CharBlock(label="Titulek")),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug skupiny",
required=False,
),
),
(
"person_list_with_custom_positions",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"page",
wagtail.blocks.PageChooserBlock(
label="Detail osoby",
page_type=[
"district.DistrictPersonPage"
],
),
),
(
"position",
wagtail.blocks.CharBlock(
help_text="Pokud není pozice vyplněná, použije se pozice ze stránky osoby.",
label="Pozice",
required=False,
),
),
]
),
label="Skupina osob",
),
),
],
label="Seznam osob",
),
),
(
"team_group",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(label="Název sekce týmů"),
),
(
"slug",
wagtail.blocks.CharBlock(
help_text="Není třeba vyplňovat, bude automaticky vyplněno",
label="Slug sekce",
required=False,
),
),
(
"team_list",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"headline",
wagtail.blocks.CharBlock(
label="Titulek bloku",
required=False,
),
),
(
"card_items",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"image",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek"
),
),
(
"title",
wagtail.blocks.CharBlock(
label="Titulek",
required=True,
),
),
(
"text",
wagtail.blocks.RichTextBlock(
label="Krátký text pod nadpisem",
required=False,
),
),
(
"page",
wagtail.blocks.PageChooserBlock(
label="Stránka",
page_type=[
"district.DistrictArticlesPage",
"district.DistrictCenterPage",
"district.DistrictContactPage",
"district.DistrictCrossroadPage",
"district.DistrictCustomPage",
"district.DistrictPeoplePage",
"district.DistrictGeoFeatureCollectionPage",
"district.DistrictCalendarPage",
"district.DistrictPdfPage",
"district.DistrictNewProgramPage",
],
required=False,
),
),
(
"link",
wagtail.blocks.URLBlock(
label="Odkaz",
required=False,
),
),
],
template="styleguide2/includes/molecules/boxes/card_box_block.html",
),
label="Karty s odkazy",
),
),
],
label="Karta týmu",
),
label="Týmy",
),
),
]
),
),
],
blank=True,
verbose_name="Lidé a týmy",
),
),
]
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -592,7 +592,7 @@ class DistrictCrossroadPage(
CONTENT_BLOCKS
+ [
("badge", blocks.PersonBadgeBlock()),
("people_group", blocks.PeopleGroupListBlock()),
("new_people_group", blocks.PeopleGroupBlock()),
],
verbose_name="Obsah stránky",
blank=True,
......@@ -652,7 +652,7 @@ class DistrictCustomPage(MainSimplePageMixin):
CONTENT_BLOCKS
+ [
("badge", blocks.PersonBadgeBlock()),
("people_group", blocks.PeopleGroupListBlock()),
("new_people_group", blocks.PeopleGroupBlock()),
("newsletter", NewsletterSubscriptionBlock()),
],
verbose_name="Obsah",
......@@ -692,7 +692,7 @@ class DistrictGeoFeatureCollectionPage(
CONTENT_BLOCKS
+ [
("badge", blocks.PersonBadgeBlock()),
("people_group", blocks.PeopleGroupListBlock()),
("new_people_group", blocks.PeopleGroupBlock()),
],
verbose_name="Obsah úvodní",
blank=True,
......@@ -702,7 +702,7 @@ class DistrictGeoFeatureCollectionPage(
CONTENT_BLOCKS
+ [
("badge", blocks.PersonBadgeBlock()),
("people_group", blocks.PeopleGroupListBlock()),
("new_people_group", blocks.PeopleGroupBlock()),
],
verbose_name="Obsah za mapou",
blank=True,
......@@ -712,7 +712,7 @@ class DistrictGeoFeatureCollectionPage(
CONTENT_BLOCKS
+ [
("badge", blocks.PersonBadgeBlock()),
("people_group", blocks.PeopleGroupListBlock()),
("new_people_group", blocks.PeopleGroupBlock()),
],
verbose_name="Obsah v patičkové části",
blank=True,
......@@ -923,7 +923,7 @@ class DistrictGeoFeatureDetailPage(
CONTENT_BLOCKS
+ [
("badge", blocks.PersonBadgeBlock()),
("people_group", blocks.PeopleGroupListBlock()),
("new_people_group", blocks.PeopleGroupBlock()),
],
verbose_name="Obsah",
blank=True,
......
......@@ -132,6 +132,13 @@ class PersonContactBoxBlock(StructBlock):
class PersonContactBlockMixin(StructBlock):
position = CharBlock(label="Název pozice", required=False)
@property
def person(self):
# NOTE: Needs to be implemented
raise NotImplementedError
# email, phone?
class Meta:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment