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 MenuItem("Rooster", "/rooster", icon="calendar", order=10), MenuItem("Schooljaar", "/schooljaar", icon="calendar", order=15), # Submenu Personen MenuItem("Personen", "/personen", icon="users", order=20, group="Personen"), MenuItem("Functies", "/functies", icon="badge", order=25, 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"), ), ) )