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"), ), ) )