diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 052067f5465e127133888104e169cabff5b7148b..95e399d6a2b833592d5a369858fae5def5ccce51 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -1615,3 +1615,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)