Files
old-saburly-wagtail-web/env/lib/python3.10/site-packages/wagtail/admin/panels/signal_handlers.py
2024-08-27 20:33:44 +02:00

22 lines
705 B
Python

from django.apps import apps
from django.core.signals import setting_changed
from django.dispatch import receiver
from wagtail.models import Page
from .model_utils import get_edit_handler
from .page_utils import set_default_page_edit_handlers
@receiver(setting_changed)
def reset_edit_handler_cache(**kwargs):
"""
Clear page edit handler cache when global WAGTAILADMIN_COMMENTS_ENABLED settings are changed
"""
if kwargs["setting"] == "WAGTAILADMIN_COMMENTS_ENABLED":
set_default_page_edit_handlers(Page)
for model in apps.get_models():
if issubclass(model, Page):
model.get_edit_handler.cache_clear()
get_edit_handler.cache_clear()