36 lines
942 B
Python
36 lines
942 B
Python
|
from django.apps import apps
|
||
|
|
||
|
from wagtail.wagtailcore.models import Collection, Page
|
||
|
|
||
|
|
||
|
def get_kfet_root_page():
|
||
|
"""
|
||
|
Returns the K-Fêt root page, or 'None' if it does not exist.
|
||
|
"""
|
||
|
from .models import KFetPage
|
||
|
return KFetPage.objects.first()
|
||
|
|
||
|
|
||
|
def get_kfet_root_collection():
|
||
|
"""
|
||
|
Returns the K-Fêt root collection, or 'None' if it does not exist.
|
||
|
"""
|
||
|
return Collection.objects.filter(name='K-Fêt').first()
|
||
|
|
||
|
|
||
|
def get_page_model_names():
|
||
|
"""
|
||
|
Returns all model names of `Page` subclasses.
|
||
|
|
||
|
This uses the django apps registry (instead of `ContentType.objects.all()`)
|
||
|
in order to be usuable even before migrations are applied. E.g. this can be
|
||
|
used in `Field.__init__`.
|
||
|
|
||
|
Note these model names are the same in `model` attribute of `ContentType`
|
||
|
objects.
|
||
|
"""
|
||
|
return [
|
||
|
model._meta.model_name
|
||
|
for model in apps.get_models() if issubclass(model, Page)
|
||
|
]
|