22 lines
705 B
Python
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()
|