41 lines
1.8 KiB
Python
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"),
|
|
),
|
|
)
|
|
)
|