2022-08-28 17:42:21 +01:00
|
|
|
from django.core.cache import cache
|
|
|
|
from wagtail import hooks
|
2024-05-04 20:56:23 +01:00
|
|
|
from wagtail.models import Page
|
2022-08-28 17:42:21 +01:00
|
|
|
|
|
|
|
from website.common.utils import get_page_models
|
|
|
|
|
2022-08-28 20:24:59 +01:00
|
|
|
from .utils import SingletonPageCache
|
2022-08-28 17:42:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
@hooks.register("after_move_page")
|
2024-05-04 20:56:23 +01:00
|
|
|
def clear_singleton_url_cache(page_to_move: Page) -> None:
|
2022-08-28 17:42:21 +01:00
|
|
|
"""
|
|
|
|
Clear all page caches, in case a parent has moved
|
|
|
|
"""
|
|
|
|
cache.delete_many(
|
2022-08-28 20:24:59 +01:00
|
|
|
[SingletonPageCache.get_url_cache_key(model) for model in get_page_models()]
|
2022-08-28 17:42:21 +01:00
|
|
|
)
|