roosterwijs/backend/core/apps.py

41 lines
1.8 KiB
Python

from django.apps import AppConfig
class CoreConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "core"
verbose_name = "Kern (roostering)"
def ready(self):
"""Meld de kern aan bij het plugin-register.
De kern is altijd actief (core=True) en levert de vaste navigatie:
rooster, personen en groepen. In latere fases vullen we deze schermen.
"""
from plugins.registry import MenuItem, ModuleSpec, registry
registry.register(
ModuleSpec(
key="core",
name="Roosterkern",
description=(
"Het hart van het systeem: personen, groepen, subgroepen, "
"activiteiten, locaties, tijdslots, roosterblokken, "
"schooljaarkalender en conflictdetectie."
),
version="0.1.0",
category="Kern",
core=True,
menu_items=(
# Hoofdniveau: Rooster = weergave, Roostermaker = aanpasser.
MenuItem("Rooster", "/rooster", icon="calendar", order=10),
MenuItem("Roostermaker", "/roostermaker", icon="calendar", order=12),
# Submenu Personen (functies zitten als tab in het Personen-scherm)
MenuItem("Personen", "/personen", icon="users", order=20, group="Personen"),
MenuItem("Afwezigheid", "/afwezigheid", icon="away", order=28, group="Personen"),
# Submenu Groepen
MenuItem("Groepen", "/groepen", icon="layers", order=30, group="Groepen"),
MenuItem("Subgroepen", "/subgroepen", icon="layers", order=40, group="Groepen"),
),
)
)