WesternFriend/WF-website

View on GitHub
contact/wagtail_hooks.py

Summary

Maintainability
A
0 mins
Test Coverage
D
66%
from wagtail import hooks
from .models import Meeting, Organization, Person
from .views import ContactViewSetGroup


@hooks.register("construct_queryset")
def prefetch_contact_related(queryset):
    """Prefetch related objects for contact models."""
    contact_models = [Meeting, Organization, Person]
    if queryset.model in contact_models:
        return queryset.prefetch_related(
            "articles_authored__article",
            "archive_articles_authored__article",
            "library_items_authored__library_item",
            "memorial_minutes__memorial_person",
            "presiding_clerks__person",
        )

    return queryset


@hooks.register("register_admin_viewset")
def register_contact_viewset_group():
    return ContactViewSetGroup()