From ed8b9e9712c1c56db99636fb137db186b83835bf Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Mon, 22 Jul 2024 19:34:08 +0200 Subject: [PATCH] Fix queryset for absence calendar event --- aleksis/apps/kolego/managers.py | 6 ++---- aleksis/apps/kolego/models/absence.py | 10 ++++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/aleksis/apps/kolego/managers.py b/aleksis/apps/kolego/managers.py index 9b86575..de99412 100644 --- a/aleksis/apps/kolego/managers.py +++ b/aleksis/apps/kolego/managers.py @@ -1,10 +1,8 @@ -from polymorphic.managers import PolymorphicQuerySet - -from aleksis.core.managers import DateRangeQuerySetMixin +from aleksis.core.managers import DateRangeQuerySetMixin, RecurrencePolymorphicQuerySet from aleksis.core.models import Person -class AbsenceQuerySet(DateRangeQuerySetMixin, PolymorphicQuerySet): +class AbsenceQuerySet(DateRangeQuerySetMixin, RecurrencePolymorphicQuerySet): """QuerySet with custom query methods for absences.""" def absent_persons(self): diff --git a/aleksis/apps/kolego/models/absence.py b/aleksis/apps/kolego/models/absence.py index c59a338..4755798 100644 --- a/aleksis/apps/kolego/models/absence.py +++ b/aleksis/apps/kolego/models/absence.py @@ -5,7 +5,9 @@ from django.utils.translation import gettext_lazy as _ from colorfield.fields import ColorField -from aleksis.core.managers import PolymorphicBaseManager +from aleksis.core.managers import ( + RecurrencePolymorphicManager, +) from aleksis.core.mixins import ExtensibleModel from aleksis.core.models import FreeBusy @@ -69,7 +71,7 @@ class AbsenceReason(ExtensibleModel): class Absence(FreeBusy): - objects = PolymorphicBaseManager.from_queryset(AbsenceQuerySet)() + objects = RecurrencePolymorphicManager.from_queryset(AbsenceQuerySet)() reason = models.ForeignKey( "AbsenceReason", @@ -89,9 +91,9 @@ class Absence(FreeBusy): @classmethod def get_objects( - cls, request: HttpRequest | None = None, params: dict[str, any] | None = None + cls, request: HttpRequest | None = None, params: dict[str, any] | None = None, **kwargs ) -> QuerySet: - qs = super().get_objects(request, params).select_related("person", "reason") + qs = super().get_objects(request, params, **kwargs).select_related("person", "reason") if params: if params.get("person"): qs = qs.filter(person_id=params["person"]) -- GitLab