Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • feat-more-blocks
  • feat-rework-election-page
  • feat/custom-css
  • feat/dary-improvements
  • feat/geo-feature-collections
  • feat/hideable-tweets
  • feat/instagram-feed
  • feat/people-octopus-imports
  • feat/pirstan-changes
  • feat/redesign-fixes-3
  • feat/redesign-improvements-10
  • feat/redesign-improvements-8
  • feat/separate-import-thread
  • feature/crypto-widget
  • features/add-custom-numbering-for-candidates
  • features/add-dynamic-candidate-numbers
  • features/add-embed-to-articles
  • features/add-feature-enlarging-sub-block
  • features/add-link-to-images
  • features/add-pdf-page
  • features/add-redirects
  • features/add-thumbnail-principle-to-uniweb-and-senate
  • features/add-timeline
  • features/add-typed-table
  • features/create-collapsible-extra-legal-info
  • features/create-mastodon-feed-block
  • features/create-wordcloud-from-article-page
  • features/donation-panel-should-be-optional
  • features/extend-hero-banner
  • features/fix-broken-calendar-categories
  • master
  • nakopneme
  • test
33 results

Target

Select target project
  • to/majak
  • b1242/majak
2 results
Select Git revision
  • fix1
  • localwebs
  • master
  • pdp
  • seo1
  • target-groups
  • test
7 results
Show changes
Showing
with 7828 additions and 8 deletions
Source diff could not be displayed: it is too large. Options to address this: view the blob.
# Generated by Django 3.0.8 on 2020-08-06 08:54 # Generated by Django 4.1.8 on 2023-07-23 00:31
import django.db.models.deletion import django.db.models.deletion
from django.db import migrations, models from django.db import migrations, models
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
("wagtailimages", "0022_uploadedimage"), ("wagtailcore", "0083_workflowcontenttype"),
("program2021", "0002_auto_20200805_0726"), ("district", "0117_merge_20230711_1636"),
] ]
operations = [ operations = [
migrations.AddField( migrations.AddField(
model_name="program2021pointpage", model_name="districtarticlepage",
name="image_title", name="shared_from",
field=models.ForeignKey( field=models.ForeignKey(
blank=True, blank=True,
null=True, null=True,
on_delete=django.db.models.deletion.PROTECT, on_delete=django.db.models.deletion.PROTECT,
to="wagtailimages.Image", related_name="+",
verbose_name="titulní obrázek", to="wagtailcore.page",
), ),
), ),
] ]
# Generated by Django 4.1.8 on 2023-07-23 00:31
import modelcluster.contrib.taggit
import modelcluster.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("shared", "0003_initial"),
("district", "0118_districtarticlepage_shared_from"),
]
operations = [
migrations.AddField(
model_name="districtarticlepage",
name="shared_tags",
field=modelcluster.contrib.taggit.ClusterTaggableManager(
blank=True,
help_text="A comma-separated list of tags.",
through="shared.SharedTaggedDistrictArticle",
to="shared.SharedTag",
verbose_name="Tagy pro sdílení mezi weby",
),
),
migrations.AddField(
model_name="districtarticlepage",
name="shared_type",
field=models.TextField(blank=True, null=True),
),
migrations.AddField(
model_name="districtarticlespage",
name="shared_tags",
field=modelcluster.fields.ParentalManyToManyField(
blank=True,
help_text="Pro výběr jednoho tagu klikněte na tag a uložte nebo publikujte stránku. Pro výběr více tagů využijte podržte Ctrl a vyberte příslušné tagy.",
to="shared.sharedtag",
verbose_name="Výběr tagů pro články sdílené mezi sítěmi",
),
),
migrations.AddField(
model_name="districthomepage",
name="shared_tags",
field=modelcluster.fields.ParentalManyToManyField(
blank=True,
help_text="Pro výběr jednoho tagu klikněte na tag a uložte nebo publikujte stránku. Pro výběr více tagů využijte podržte Ctrl a vyberte příslušné tagy.",
to="shared.sharedtag",
verbose_name="Výběr tagů pro články sdílené mezi sítěmi",
),
),
]
# Generated by Django 4.1.10 on 2023-07-27 11:28
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("district", "0118_alter_districtcustompage_content_and_more"),
]
operations = [
migrations.AddField(
model_name="districthomepage",
name="newsletter_description",
field=models.CharField(
default="Fake news tam nenajdeš, ale dozvíš se, co chystáme doopravdy!",
max_length=250,
verbose_name="Popis newsletteru",
),
),
migrations.AddField(
model_name="districthomepage",
name="newsletter_list_id",
field=models.CharField(
blank=True, max_length=20, null=True, verbose_name="ID newsletteru"
),
),
]
# Generated by Django 4.1.10 on 2023-07-27 11:58
import wagtail.blocks
import wagtail.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("district", "0119_districthomepage_newsletter_description_and_more"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
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",
),
),
(
"headline",
wagtail.blocks.StructBlock(
[
(
"headline",
wagtail.blocks.CharBlock(
label="Headline", max_length=300, required=True
),
),
(
"style",
wagtail.blocks.ChoiceBlock(
choices=[
("head-alt-xl", "Bebas XL"),
("head-alt-lg", "Bebas L"),
("head-alt-md", "Bebas M"),
("head-alt-base", "Bebas base"),
("head-alt-sm", "Bebas SM"),
("head-alt-xs", "Bebas XS"),
("head-alt-2xs", "Bebas 2XS"),
("head-heavy-base", "Roboto base"),
("head-heavy-sm", "Roboto SM"),
("head-heavy-xs", "Roboto XS"),
("head-heavy-2xs", "Roboto 2XS"),
("head-allcaps-2xs", "Allcaps 2XS"),
("head-allcaps-3xs", "Allcaps 3XS"),
("head-allcaps-4xs", "Allcaps 4XS"),
(
"head-heavy-allcaps-2xs",
"Allcaps heavy 2XS",
),
(
"head-heavy-allcaps-3xs",
"Allcaps heavy 3XS",
),
(
"head-heavy-allcaps-4xs",
"Allcaps heavy 4XS",
),
],
help_text="Náhled si prohlédněte na https://styleguide.pir-test.eu/latest/?p=viewall-atoms-text.",
label="Styl",
),
),
(
"tag",
wagtail.blocks.ChoiceBlock(
choices=[
("h1", "H1"),
("h2", "H2"),
("h3", "H3"),
("h4", "H4"),
("h5", "H5"),
("h6", "H6"),
],
help_text="Čím nižší číslo, tím vyšší úroveň.",
label="Úroveň nadpisu",
),
),
(
"align",
wagtail.blocks.ChoiceBlock(
choices=[
("auto", "Automaticky"),
("center", "Na střed"),
],
label="Zarovnání",
),
),
]
),
),
],
blank=True,
use_json_field=True,
verbose_name="Obsah stránky",
),
),
migrations.AlterField(
model_name="districthomepage",
name="newsletter_list_id",
field=models.CharField(
blank=True,
help_text="ID newsletteru z Mailtrainu. Po vyplnění se formulář pro odběr newsletteru zobrazí na úvodní stránce a na stránce s kontakty.",
max_length=20,
null=True,
verbose_name="ID newsletteru",
),
),
]
# Generated by Django 4.1.10 on 2023-08-16 09:07
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0119_districtarticlepage_shared_tags_and_more"),
("district", "0120_alter_districthomepage_content_and_more"),
]
operations = []
# Generated by Django 4.1.8 on 2023-08-16 12:30
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0121_merge_20230816_1107"),
]
operations = [
migrations.RemoveField(
model_name="districthomepage",
name="shared_tags",
),
]
# Generated by Django 4.1.10 on 2023-08-23 10:39
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("district", "0122_remove_districthomepage_shared_tags"),
]
operations = [
migrations.AlterField(
model_name="districtcalendarpage",
name="calendar_url",
field=models.URLField(
blank=True,
help_text="Kalendář se po uložení stránky aktualizuje na pozadí. U plnějších kalendářů to může trvat i desítky sekund.",
null=True,
verbose_name="URL kalendáře ve formátu iCal",
),
),
migrations.AlterField(
model_name="districtcenterpage",
name="calendar_url",
field=models.URLField(
blank=True,
help_text="Kalendář se po uložení stránky aktualizuje na pozadí. U plnějších kalendářů to může trvat i desítky sekund.",
null=True,
verbose_name="URL kalendáře ve formátu iCal",
),
),
migrations.AlterField(
model_name="districthomepage",
name="calendar_url",
field=models.URLField(
blank=True,
help_text="Kalendář se po uložení stránky aktualizuje na pozadí. U plnějších kalendářů to může trvat i desítky sekund.",
null=True,
verbose_name="URL kalendáře ve formátu iCal",
),
),
migrations.AlterField(
model_name="districtpersonpage",
name="calendar_url",
field=models.URLField(
blank=True,
help_text="Kalendář se po uložení stránky aktualizuje na pozadí. U plnějších kalendářů to může trvat i desítky sekund.",
null=True,
verbose_name="URL kalendáře ve formátu iCal",
),
),
]
# Generated by Django 4.1.10 on 2024-01-18 18:54
import django.utils.timezone
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("district", "0123_alter_districtcalendarpage_calendar_url_and_more"),
]
operations = [
migrations.AlterField(
model_name="districtarticlepage",
name="date",
field=models.DateTimeField(
default=django.utils.timezone.now, verbose_name="Datum a čas"
),
),
]
# Generated by Django 4.1.10 on 2024-01-18 19:00
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0124_alter_districtarticlepage_date"),
]
operations = [
migrations.RenameField(
model_name="districtarticlepage",
old_name="date",
new_name="timestamp",
),
]
# Generated by Django 4.1.10 on 2024-01-31 12:56
import django.db.models.deletion
import wagtailmetadata.models
from django.db import migrations, models
import shared.models.legacy
class Migration(migrations.Migration):
dependencies = [
("wagtailcore", "0083_workflowcontenttype"),
("wagtaildocs", "0012_uploadeddocument"),
("wagtailimages", "0025_alter_image_file_alter_rendition_file"),
("district", "0125_rename_date_districtarticlepage_timestamp"),
]
operations = [
migrations.CreateModel(
name="DistrictPdfPage",
fields=[
(
"page_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="wagtailcore.page",
),
),
(
"pdf_file",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtaildocs.document",
verbose_name="PDF dokument",
),
),
(
"search_image",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="+",
to="wagtailimages.image",
verbose_name="Search image",
),
),
],
options={
"verbose_name": "PDF stránka",
},
bases=(
wagtailmetadata.models.WagtailImageMetadataMixin,
shared.models.main.SubpageMixin,
"wagtailcore.page",
models.Model,
),
),
]
# Generated by Django 4.1.10 on 2024-02-10 15:31
import wagtail.blocks
import wagtail.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0126_districtpdfpage"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
name="menu",
field=wagtail.fields.StreamField(
[
(
"menu_item",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
label="Titulek", required=True
),
),
(
"page",
wagtail.blocks.PageChooserBlock(
label="Stránka", required=False
),
),
(
"link",
wagtail.blocks.URLBlock(
label="Odkaz", required=False
),
),
]
),
),
(
"menu_parent",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
label="Titulek", required=True
),
),
(
"menu_items",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
label="Titulek", required=True
),
),
(
"page",
wagtail.blocks.PageChooserBlock(
label="Stránka", required=False
),
),
(
"link",
wagtail.blocks.URLBlock(
label="Odkaz", required=False
),
),
]
),
label="Položky menu",
),
),
]
),
),
],
blank=True,
use_json_field=True,
verbose_name="Menu",
),
),
]
# Generated by Django 5.0.4 on 2024-05-06 10:34
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("calendar_utils", "0004_auto_20220505_1228"),
("district", "0127_alter_districthomepage_menu"),
]
operations = [
migrations.AlterField(
model_name="districtcalendarpage",
name="calendar",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="calendar_utils.calendar",
),
),
migrations.AlterField(
model_name="districtcenterpage",
name="calendar",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="calendar_utils.calendar",
),
),
migrations.AlterField(
model_name="districthomepage",
name="calendar",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="calendar_utils.calendar",
),
),
migrations.AlterField(
model_name="districtpersonpage",
name="calendar",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
to="calendar_utils.calendar",
),
),
]
# Generated by Django 5.0.4 on 2024-05-08 09:07
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0128_alter_districtcalendarpage_calendar_and_more"),
]
operations = [
migrations.RenameField(
model_name="districthomepage",
old_name="content",
new_name="content_2",
),
]
# Generated by Django 5.0.4 on 2024-05-08 09:08
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0129_rename_content_districthomepage_content_2"),
]
operations = [
migrations.RenameField(
model_name="districthomepage",
old_name="subheader",
new_name="content",
),
migrations.RemoveField(
model_name="districthomepage",
name="content_2",
),
]
# Generated by Django 5.0.4 on 2024-05-08 09:26
import wagtail
from django.db import migrations
from wagtail.models import Page
from district.blocks import FullscreenHeaderBlock
def merge_blocks(apps, schema_editor):
# Get the page model
DistrictHomePage = apps.get_model("district", "DistrictHomePage")
# Iterate over all pages that have the StreamField you want to update
for home_page in DistrictHomePage.objects.all():
# Get the old content
old_content = home_page.content.get_prep_value()
# Create a new list to store the merged blocks
merged_blocks = []
# Iterate over the old blocks and extract common fields
for old_block in old_content:
desktop_line_1 = ""
desktop_line_2 = ""
mobile_line_1 = ""
mobile_line_2 = ""
mobile_line_3 = ""
desktop_image = None
mobile_image = None
button_url = None
button_text = None
# Titles
if old_block["type"] in (
"header_full_size",
"header_simple",
"header",
"hero_banner",
):
split_title = old_block["value"].get("title").split(" ")
if len(split_title) <= 3:
desktop_line_1 = old_block["value"].get("title")
else:
desktop_line_1 = " ".join(split_title[:4])
desktop_line_2 = " ".join(split_title[4:])
if len(split_title) <= 3:
mobile_line_1 = old_block["value"].get("title")
elif len(split_title) <= 6:
mobile_line_1 = " ".join(split_title[:3])
mobile_line_2 = " ".join(split_title[3:6])
else:
mobile_line_1 = " ".join(split_title[:3])
mobile_line_2 = " ".join(split_title[3:6])
mobile_line_3 = " ".join(split_title[6:])
# Images
if old_block["type"] == "header_full_size":
desktop_image = mobile_image = old_block["value"].get(
"image_background"
)
elif old_block["type"] in ("header_simple", "header"):
desktop_image = mobile_image = old_block["value"].get("image")
elif old_block["type"] == "hero_banner":
desktop_image = old_block["value"].get("lg_banner")
mobile_image = old_block["value"].get("sm_banner")
# Buttons
if old_block["type"] == "header_full_size":
buttons = old_block["value"].get("button_group")
if len(buttons) != 0:
button_url = (
buttons[0]["value"]["link"]
if buttons[0]["value"]["link"]
else (
Page.objects.get(id=buttons[0]["value"]["page"]).url
if buttons[0]["value"]["page"]
else ""
)
)
button_text = buttons[0]["value"]["title"]
elif old_block["type"] in ("header", "hero_banner"):
button_url = old_block["value"].get("button_link")
button_text = old_block["value"].get("button_text")
# Extract common fields from each block type and create a new FullscreenHeaderBlock
merged_block_data = FullscreenHeaderBlock().to_python(
{
"desktop_line_1": desktop_line_1,
"desktop_line_2": desktop_line_2,
"mobile_line_1": mobile_line_1,
"mobile_line_2": mobile_line_2,
"mobile_line_3": mobile_line_3,
"desktop_image": desktop_image,
"mobile_image": mobile_image,
"desktop_video_url": None,
"mobile_video_url": None,
"button_url": button_url,
"button_text": button_text,
}
)
merged_blocks.append(merged_block_data)
if len(merged_blocks) == 0:
merged_blocks = [
FullscreenHeaderBlock().to_python(
{
"desktop_line_1": home_page.title,
"desktop_line_2": "",
"mobile_line_1": home_page.title,
"mobile_line_2": "",
"mobile_line_3": "",
"desktop_image": None,
"mobile_image": None,
"desktop_video_url": None,
"mobile_video_url": None,
"button_url": None,
"button_text": None,
}
)
]
for block in merged_blocks:
home_page.content.append(("fullscreen_header_block", block))
# Save the updated page
home_page.save()
class Migration(migrations.Migration):
dependencies = [
("district", "0130_rename_subheader_districthomepage_content_and_more"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
name="content",
field=wagtail.fields.StreamField(
[
(
"header_full_size",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
label="Titulek", required=True
),
),
(
"image_background",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek v pozadí", required=True
),
),
(
"image_foreground",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek v popředí", required=False
),
),
(
"button_group",
wagtail.blocks.ListBlock(
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
label="Titulek",
max_length=128,
required=True,
),
),
(
"icon",
wagtail.blocks.CharBlock(
help_text="Identifikátor ikonky ze styleguide (https://styleguide.pirati.cz/latest/?p=viewall-atoms-icons), např. ico--key.",
label="Ikonka",
max_length=128,
required=False,
),
),
(
"size",
wagtail.blocks.ChoiceBlock(
choices=[
("sm", "Malá"),
("base", "Střední"),
("lg", "Velká"),
],
label="Velikost",
),
),
(
"color",
wagtail.blocks.ChoiceBlock(
choices=[
("black", "Černá"),
("white", "Bílá"),
("grey-125", "Světle šedá"),
("blue-300", "Modrá"),
("cyan-200", "Tyrkysová"),
("green-400", "Zelené"),
("violet-400", "Vínová"),
("red-600", "Červená"),
],
label="Barva",
),
),
(
"hoveractive",
wagtail.blocks.BooleanBlock(
default=True,
help_text="Pokud je zapnuto, tlačítko mění barvu, když na něj uživatel najede myší.",
label="Animovat na hover",
required=False,
),
),
(
"mobile_fullwidth",
wagtail.blocks.BooleanBlock(
default=True,
help_text="Pokud je zapnuto, tlačítko se na mobilních zařízeních roztáhne na plnou šířku.",
label="Plná šířka na mobilních zařízeních",
required=False,
),
),
(
"page",
wagtail.blocks.PageChooserBlock(
label="Stránka", required=False
),
),
(
"link",
wagtail.blocks.URLBlock(
label="Odkaz", required=False
),
),
(
"align",
wagtail.blocks.ChoiceBlock(
choices=[
("auto", "Automaticky"),
("center", "Na střed"),
],
label="Zarovnání",
),
),
]
),
label="Tlačítka",
),
),
]
),
),
(
"header_simple",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
label="Titulek", required=False
),
),
(
"subtitle",
wagtail.blocks.CharBlock(
label="Podtitulek", required=False
),
),
("image", wagtail.images.blocks.ImageChooserBlock()),
]
),
),
(
"header",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
help_text="Nap", label="Titulek", required=False
),
),
("image", wagtail.images.blocks.ImageChooserBlock()),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
(
"button_link",
wagtail.blocks.URLBlock(
label="Odkaz tlačítka", required=False
),
),
]
),
),
(
"hero_banner",
wagtail.blocks.StructBlock(
[
(
"sm_banner",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek pro zobrazení menší než 640px",
required=True,
),
),
(
"md_banner",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek pro zobrazení větší než 768px",
required=True,
),
),
(
"lg_banner",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek pro zobrazení větší než 1024px",
required=True,
),
),
(
"xl_banner",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek pro zobrazení větší než 1280px",
required=True,
),
),
(
"xxl_banner",
wagtail.images.blocks.ImageChooserBlock(
label="Obrázek pro zobrazení větší než 1536px",
required=True,
),
),
(
"title",
wagtail.blocks.CharBlock(
label="Titulek bloku", required=False
),
),
(
"subtitle",
wagtail.blocks.CharBlock(
label="Podtitulek", required=False
),
),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
(
"button_link",
wagtail.blocks.URLBlock(
label="Odkaz tlačítka", required=False
),
),
]
),
),
(
"fullscreen_header_block",
wagtail.blocks.StructBlock(
[
(
"desktop_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na desktopu.",
label="Obrázek na pozadí (desktop)",
),
),
(
"mobile_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na mobilu.",
label="Obrázek na pozadí (mobil)",
required=False,
),
),
(
"desktop_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.",
label="Video (desktop)",
required=False,
),
),
(
"mobile_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na mobilech s povoleným autoplayem místo obrázku.",
label="Video (mobil)",
required=False,
),
),
(
"desktop_line_1",
wagtail.blocks.TextBlock(
label="Desktop první řádek"
),
),
(
"desktop_line_2",
wagtail.blocks.TextBlock(
label="Desktop druhý řádek"
),
),
(
"mobile_line_1",
wagtail.blocks.TextBlock(
label="První mobilní řádek"
),
),
(
"mobile_line_2",
wagtail.blocks.TextBlock(
label="Druhý mobilní řádek"
),
),
(
"mobile_line_3",
wagtail.blocks.TextBlock(
label="Třetí mobilní řádek"
),
),
(
"button_url",
wagtail.blocks.URLBlock(
help_text="Bez odkazu tlačítko nebude viditelné.",
label="Odkaz tlačítka",
required=False,
),
),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
]
),
),
],
blank=True,
verbose_name="Blok pod headerem",
),
),
migrations.RunPython(merge_blocks),
]
# Generated by Django 5.0.4 on 2024-05-08 11:11
import wagtail.blocks
import wagtail.fields
import wagtail.images.blocks
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0131_migrate_headers"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
name="content",
field=wagtail.fields.StreamField(
[
(
"fullscreen_header_block",
wagtail.blocks.StructBlock(
[
(
"desktop_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na desktopu.",
label="Obrázek na pozadí (desktop)",
),
),
(
"mobile_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na mobilu.",
label="Obrázek na pozadí (mobil)",
required=False,
),
),
(
"desktop_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.",
label="Video (desktop)",
required=False,
),
),
(
"mobile_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na mobilech s povoleným autoplayem místo obrázku.",
label="Video (mobil)",
required=False,
),
),
(
"desktop_line_1",
wagtail.blocks.TextBlock(
label="Desktop první řádek"
),
),
(
"desktop_line_2",
wagtail.blocks.TextBlock(
label="Desktop druhý řádek"
),
),
(
"mobile_line_1",
wagtail.blocks.TextBlock(
label="První mobilní řádek"
),
),
(
"mobile_line_2",
wagtail.blocks.TextBlock(
label="Druhý mobilní řádek"
),
),
(
"mobile_line_3",
wagtail.blocks.TextBlock(
label="Třetí mobilní řádek"
),
),
(
"button_url",
wagtail.blocks.URLBlock(
help_text="Bez odkazu tlačítko nebude viditelné.",
label="Odkaz tlačítka",
required=False,
),
),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
]
),
)
],
blank=True,
verbose_name="Blok pod headerem",
),
),
]
# Generated by Django 5.0.4 on 2024-05-08 11:15
import wagtail.blocks
import wagtail.fields
import wagtail.images.blocks
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0132_alter_districthomepage_content"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
name="content",
field=wagtail.fields.StreamField(
[
(
"fullscreen_header_block",
wagtail.blocks.StructBlock(
[
(
"desktop_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na desktopu.",
label="Obrázek na pozadí (desktop)",
),
),
(
"mobile_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na mobilu.",
label="Obrázek na pozadí (mobil)",
required=False,
),
),
(
"desktop_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.",
label="Video (desktop)",
required=False,
),
),
(
"mobile_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na mobilech s povoleným autoplayem místo obrázku.",
label="Video (mobil)",
required=False,
),
),
(
"desktop_line_1",
wagtail.blocks.TextBlock(
label="Desktop první řádek"
),
),
(
"desktop_line_2",
wagtail.blocks.TextBlock(
label="Desktop druhý řádek", required=False
),
),
(
"mobile_line_1",
wagtail.blocks.TextBlock(
label="První mobilní řádek"
),
),
(
"mobile_line_2",
wagtail.blocks.TextBlock(
label="Druhý mobilní řádek", required=False
),
),
(
"mobile_line_3",
wagtail.blocks.TextBlock(
label="Třetí mobilní řádek", required=False
),
),
(
"button_url",
wagtail.blocks.URLBlock(
help_text="Bez odkazu tlačítko nebude viditelné.",
label="Odkaz tlačítka",
required=False,
),
),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
]
),
)
],
blank=True,
verbose_name="Blok pod headerem",
),
),
]
# Generated by Django 5.0.4 on 2024-05-08 11:33
import wagtail
from django.db import migrations
from shared.blocks import NewsBlock
def add_news_blocks(apps, schema_editor):
DistrictHomePage = apps.get_model("district", "DistrictHomePage")
for home_page in DistrictHomePage.objects.all():
if home_page.articles_title:
home_page.content.append(
(
"news_block",
NewsBlock().to_python(
{"title": home_page.articles_title, "description": ""}
),
)
)
home_page.save()
class Migration(migrations.Migration):
dependencies = [
("district", "0133_alter_districthomepage_content"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
name="content",
field=wagtail.fields.StreamField(
[
(
"fullscreen_header_block",
wagtail.blocks.StructBlock(
[
(
"desktop_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na desktopu.",
label="Obrázek na pozadí (desktop)",
),
),
(
"mobile_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na mobilu.",
label="Obrázek na pozadí (mobil)",
required=False,
),
),
(
"desktop_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.",
label="Video (desktop)",
required=False,
),
),
(
"mobile_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na mobilech s povoleným autoplayem místo obrázku.",
label="Video (mobil)",
required=False,
),
),
(
"desktop_line_1",
wagtail.blocks.TextBlock(
label="Desktop první řádek"
),
),
(
"desktop_line_2",
wagtail.blocks.TextBlock(
label="Desktop druhý řádek", required=False
),
),
(
"mobile_line_1",
wagtail.blocks.TextBlock(
label="První mobilní řádek"
),
),
(
"mobile_line_2",
wagtail.blocks.TextBlock(
label="Druhý mobilní řádek", required=False
),
),
(
"mobile_line_3",
wagtail.blocks.TextBlock(
label="Třetí mobilní řádek", required=False
),
),
(
"button_url",
wagtail.blocks.URLBlock(
help_text="Bez odkazu tlačítko nebude viditelné.",
label="Odkaz tlačítka",
required=False,
),
),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
]
),
),
(
"news_block",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
help_text="Nejnovější články se načtou automaticky",
label="Titulek",
),
),
(
"description",
wagtail.blocks.TextBlock(label="Popis"),
),
],
template="styleguide2/includes/organisms/articles/district/articles_section.html",
),
),
],
blank=True,
verbose_name="Blok pod headerem",
),
),
migrations.RunPython(add_news_blocks),
]
# Generated by Django 5.0.4 on 2024-05-08 12:33
import wagtail.blocks
import wagtail.fields
import wagtail.images.blocks
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("district", "0134_auto_20240508_1333"),
]
operations = [
migrations.AlterField(
model_name="districthomepage",
name="content",
field=wagtail.fields.StreamField(
[
(
"fullscreen_header_block",
wagtail.blocks.StructBlock(
[
(
"desktop_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na desktopu.",
label="Obrázek na pozadí (desktop)",
),
),
(
"mobile_image",
wagtail.images.blocks.ImageChooserBlock(
help_text="Pokud není vybráno video, ukáže se na mobilu.",
label="Obrázek na pozadí (mobil)",
required=False,
),
),
(
"desktop_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.",
label="Video (desktop)",
required=False,
),
),
(
"mobile_video_url",
wagtail.blocks.URLBlock(
help_text="Pokud je vybráno, ukáže se na mobilech s povoleným autoplayem místo obrázku.",
label="Video (mobil)",
required=False,
),
),
(
"desktop_line_1",
wagtail.blocks.TextBlock(
label="Desktop první řádek"
),
),
(
"desktop_line_2",
wagtail.blocks.TextBlock(
label="Desktop druhý řádek", required=False
),
),
(
"mobile_line_1",
wagtail.blocks.TextBlock(
label="První mobilní řádek"
),
),
(
"mobile_line_2",
wagtail.blocks.TextBlock(
label="Druhý mobilní řádek", required=False
),
),
(
"mobile_line_3",
wagtail.blocks.TextBlock(
label="Třetí mobilní řádek", required=False
),
),
(
"button_url",
wagtail.blocks.URLBlock(
help_text="Bez odkazu tlačítko nebude viditelné.",
label="Odkaz tlačítka",
required=False,
),
),
(
"button_text",
wagtail.blocks.CharBlock(
label="Text tlačítka", required=False
),
),
]
),
),
(
"news_block",
wagtail.blocks.StructBlock(
[
(
"title",
wagtail.blocks.CharBlock(
help_text="Nejnovější články se načtou automaticky",
label="Titulek",
),
),
(
"description",
wagtail.blocks.TextBlock(
label="Popis", required=False
),
),
],
template="styleguide2/includes/organisms/articles/district/articles_section.html",
),
),
],
blank=True,
verbose_name="Blok pod headerem",
),
),
]