diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 5f8ccf41bb4246ecf5cb04a4c6c50c6db1152f09..26c86557c6562e85e8aaba62421f296769fac2e1 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -1612,3 +1612,20 @@ class SupervisionEvent(LessonEvent): return render_to_string( "chronos/supervision_event_description.txt", {"event": reference_object} ) + + @classmethod + def get_objects(cls, request, params=None) -> Iterable: + """Return all objects that should be included in the calendar.""" + objs = super().get_objects(request, params) + if params: + obj_id = int(params.get("id", 0)) + type = params.get("type", None) + + if type and obj_id: + if type == "TEACHER": + return objs.for_teacher(obj_id) + elif type == "GROUP": + return objs.for_group(obj_id) + elif type == "ROOM": + return objs.for_room(obj_id) + return objs.for_person(request.user.person)