Skip to content
Snippets Groups Projects
Verified Commit ed8b9e97 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Fix queryset for absence calendar event

parent 08ad7e10
No related branches found
No related tags found
1 merge request!35Fix queryset for absence calendar event
Pipeline #191864 failed
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):
......
......@@ -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"])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment