From b8888a5bb073b1dd47a2c3b2588594b79ab94f97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <tomas@imaniti.org> Date: Mon, 1 Jul 2024 17:33:08 +0200 Subject: [PATCH] fix(?) MS Pardubice menu --- .../migrations/0241_auto_20240701_1616.py | 25 +++++++++++++++++++ district/models.py | 16 +++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 district/migrations/0241_auto_20240701_1616.py diff --git a/district/migrations/0241_auto_20240701_1616.py b/district/migrations/0241_auto_20240701_1616.py new file mode 100644 index 00000000..02770a03 --- /dev/null +++ b/district/migrations/0241_auto_20240701_1616.py @@ -0,0 +1,25 @@ +# Generated by Django 5.0.6 on 2024-07-01 14:16 + +from django.db import migrations + + +def fix_menu(apps, schema_editor): + from district.models import DistrictHomePage + + new_menu = [] + + for page in DistrictHomePage.objects.all(): + if page.title == "PirĂ¡ti Pardubicko": + page.menu = [] + page.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ('district', '0240_alter_districthomepage_content'), + ] + + operations = [ + migrations.RunPython(fix_menu) + ] diff --git a/district/models.py b/district/models.py index 0398fc55..7b6c3c50 100644 --- a/district/models.py +++ b/district/models.py @@ -20,7 +20,7 @@ from wagtail.admin.panels import ( TabbedInterface, ) from wagtail.fields import RichTextField, StreamField -from wagtail.models import Orderable, Page +from wagtail.models import Orderable, Page, Site from wagtailmetadata.models import MetadataPageMixin from calendar_utils.models import CalendarMixin @@ -65,6 +65,20 @@ from shared.utils import make_promote_panels, strip_all_html_tags, subscribe_to_ from . import blocks from .forms import JekyllImportForm +from wagtail import hooks + + +@hooks.register('construct_page_chooser_queryset') +def limit_page_chooser_to_site_specific_pages(pages, request): + try: + site = Site.find_for_request(request) + + return pages.in_site(site) + except Exception as e: + print(e) + # couldn't filter by site so return untouched pages queryset + return pages + CONTENT_BLOCKS = DEFAULT_CONTENT_BLOCKS + [ ("chart", ChartBlock(template="district/blocks/chart.html")), -- GitLab