44 lines
2.1 KiB
Python
44 lines
2.1 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),
|
|
MenuItem("Leerlingrooster", "/leerlingrooster", icon="book", order=14),
|
|
MenuItem("Ouderrooster", "/ouderrooster", icon="badge", order=16),
|
|
# Submenu Organisatie: wie hoort waar.
|
|
MenuItem("Personen", "/personen", icon="users", order=20, group="Organisatie"),
|
|
MenuItem("Groepsindeling", "/groepsindeling", icon="layers", order=24, group="Organisatie"),
|
|
MenuItem("Afwezigheid", "/afwezigheid", icon="away", order=28, group="Organisatie"),
|
|
# Submenu Instellingen (cog in de bovenbalk): bouwstenen.
|
|
MenuItem("Lokalen", "/lokalen", icon="door", order=70, group="Instellingen"),
|
|
MenuItem("Locaties", "/locaties", icon="pin", order=72, group="Instellingen"),
|
|
),
|
|
)
|
|
)
|