Skip to content
Snippets Groups Projects
Select Git revision
  • c82fa7563a5756fe005606b029a786c59709a5e3
  • main default protected
  • cf2025
  • cf2024
  • cf2023-euro
  • cf2023-offline
6 results

Dockerfile.development

Blame
  • 0078_auto_20240703_1110.py 14.19 KiB
    # Generated by Django 5.0.6 on 2024-07-03 09:10
    
    import wagtail
    from django.db import migrations
    
    
    def migrate_people_blocks(apps, schema_editor):
        UniwebPeoplePage = apps.get_model("uniweb", "UniwebPeoplePage")
    
        for page in UniwebPeoplePage.objects.all():
            new_blocks = []
    
            for block in page.content:
                if block.block_type == "people_group":
                    person_list_with_custom_positions = []
    
                    for person in block.value["person_list"]:
                        person_list_with_custom_positions.append(
                            {"page": person["person"], "position": person["position"]}
                        )
    
                    new_blocks.append(
                        (
                            "people_group_2",
                            {
                                "title": block.value["group_title"],
                                "person_list": [],
                                "person_list_with_custom_positions": person_list_with_custom_positions,
                            },
                        )
                    )
                else:
                    new_blocks.append((block.block_type, block.value))
    
            page.content = new_blocks
            page.save()
    
    
    class Migration(migrations.Migration):
        dependencies = [
            ("uniweb", "0077_alter_uniwebarticlepage_content_and_more"),
        ]
    
        operations = [
            migrations.AlterField(
                model_name="uniwebpeoplepage",
                name="content",
                field=wagtail.fields.StreamField(
                    [
                        (
                            "text",
                            wagtail.blocks.RichTextBlock(
                                features=[
                                    "h2",
                                    "h3",
                                    "h4",
                                    "h5",
                                    "bold",
                                    "italic",
                                    "ol",
                                    "ul",
                                    "hr",
                                    "link",
                                    "document-link",
                                    "image",
                                    "superscript",
                                    "subscript",
                                    "strikethrough",
                                    "blockquote",
                                    "embed",
                                ],
                                label="Textový editor",
                                template="styleguide2/includes/atoms/text/prose_richtext.html",
                            ),
                        ),
                        (
                            "people_group",
                            wagtail.blocks.StructBlock(
                                [
                                    (
                                        "group_title",
                                        wagtail.blocks.CharBlock(
                                            label="Titulek", required=True
                                        ),
                                    ),
                                    (
                                        "person_list",
                                        wagtail.blocks.ListBlock(
                                            wagtail.blocks.StructBlock(
                                                [
                                                    (
                                                        "position",
                                                        wagtail.blocks.CharBlock(
                                                            label="Název pozice",
                                                            required=False,
                                                        ),
                                                    ),
                                                    (
                                                        "person",
                                                        wagtail.blocks.PageChooserBlock(
                                                            label="Osoba",
                                                            page_type=[
                                                                "uniweb.UniwebPersonPage",
                                                                "district.DistrictPersonPage",
                                                            ],
                                                        ),
                                                    ),
                                                ]
                                            ),
                                            label="List osob",
                                        ),
                                    ),
                                ]
                            ),
                        ),
                        (
                            "people_group_2",
                            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=[
                                                    "uniweb.UniwebPersonPage",
                                                    "district.DistrictPersonPage",
                                                ],
                                            ),
                                            default=[],
                                            help_text="S pozicemi z jejich podstránek",
                                            label="Osoby",
                                        ),
                                    ),
                                    (
                                        "person_list_with_custom_positions",
                                        wagtail.blocks.ListBlock(
                                            wagtail.blocks.StructBlock(
                                                [
                                                    (
                                                        "page",
                                                        wagtail.blocks.PageChooserBlock(
                                                            label="Detail osoby",
                                                            page_type=[
                                                                "uniweb.UniwebPersonPage",
                                                                "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,
                                                        ),
                                                    ),
                                                ]
                                            ),
                                            default=[],
                                            help_text="S nastavitelnými pozicemi",
                                            label="Osoby",
                                        ),
                                    ),
                                ]
                            ),
                        ),
                        (
                            "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=[
                                                                                "uniweb.UniwebFlexiblePage",
                                                                                "uniweb.UniwebArticlesIndexPage",
                                                                                "uniweb.UniwebFormPage",
                                                                                "uniweb.UniwebPeoplePage",
                                                                                "uniweb.UniwebCalendarPage",
                                                                                "uniweb.UniwebSearchPage",
                                                                            ],
                                                                            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="Obsah stránky",
                ),
            ),
            migrations.RunPython(migrate_people_blocks),
        ]