from wagtail.blocks import CharBlock, ListBlock, PageChooserBlock, StructBlock, URLBlock class PersonUrlBlock(StructBlock): title = CharBlock(label="Název", required=True) url = URLBlock(label="URL", required=True) custom_icon = CharBlock( label="Vlastní ikonka ze styleguide", required=False, help_text="Pro vlastní ikonku zadejde název ikonky z https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons (bez tečky), např. 'ico--beer'", ) class PersonCustomPositionBlock(StructBlock): position = CharBlock(label="Název pozice", required=False) person = PageChooserBlock( label="Osoba", page_type=["uniweb.UniwebPersonPage"], ) class Meta: icon = "user" label = "Osoba s volitelnou pozicí" class PeopleGroupListBlock(StructBlock): group_title = CharBlock(label="Titulek", required=True) person_list = ListBlock( PersonCustomPositionBlock(), label="List osob", ) class Meta: template = "uniweb/blocks/people_group_block.html" icon = "list-ul" label = "Skupina členů"