diff --git a/district/migrations/0241_auto_20240701_1616.py b/district/migrations/0241_auto_20240701_1616.py new file mode 100644 index 0000000000000000000000000000000000000000..02770a03e25a41b1868000a4f154bada564e1b6c --- /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 0398fc55ecac0d3af26fb1a0ffe6ef2d739ef43b..7b6c3c503027b6a83c9ffa773293d9a77b9e5499 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")),