Initial commit

This commit is contained in:
2024-08-27 20:33:44 +02:00
commit 1f1832267d
14794 changed files with 1599592 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
from django.core.checks import Warning, register
@register("search")
def page_search_fields_check(app_configs, **kwargs):
"""Checks each page model with search_fields to core fields are included"""
from wagtail.models import Page, get_page_models
page_models = get_page_models()
errors = []
for cls in page_models:
# Don't check models where indexing has been explicitly disabled
if not cls.search_fields:
continue
# Only checks an initial subset of fields as only need to check some are missing to show the warning
if not all(field in cls.search_fields for field in Page.search_fields[:10]):
errors.append(
Warning(
"Core Page fields missing in `search_fields`",
hint=" ".join(
[
"Ensure that {} extends the Page model search fields",
"`search_fields = Page.search_fields + [...]`",
]
).format(cls.__name__),
obj=cls,
id="wagtailsearch.W001",
)
)
return errors