from core.registry import ( register_dashboard_collector, register_feature, register_portal_nav, register_public_nav, ) def register() -> None: register_feature("events") register_public_nav( section="events", label="Events", url_name="events:list", order=35 ) register_portal_nav( section="events", label="Events", url_name="events_portal:event_list", group="Retail", order=30, ) register_dashboard_collector(_dashboard) def _dashboard(request) -> dict: from django.utils import timezone from events.models import Event return { "upcoming_events": Event.objects.filter( is_published=True, starts_at__gte=timezone.now() ).count() }