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, RecurrencePolymorphicQuerySet
from aleksis.core.managers import DateRangeQuerySetMixin
from aleksis.core.models import Person from aleksis.core.models import Person
class AbsenceQuerySet(DateRangeQuerySetMixin, PolymorphicQuerySet): class AbsenceQuerySet(DateRangeQuerySetMixin, RecurrencePolymorphicQuerySet):
"""QuerySet with custom query methods for absences.""" """QuerySet with custom query methods for absences."""
def absent_persons(self): def absent_persons(self):
......
...@@ -5,7 +5,9 @@ from django.utils.translation import gettext_lazy as _ ...@@ -5,7 +5,9 @@ from django.utils.translation import gettext_lazy as _
from colorfield.fields import ColorField 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.mixins import ExtensibleModel
from aleksis.core.models import FreeBusy from aleksis.core.models import FreeBusy
...@@ -69,7 +71,7 @@ class AbsenceReason(ExtensibleModel): ...@@ -69,7 +71,7 @@ class AbsenceReason(ExtensibleModel):
class Absence(FreeBusy): class Absence(FreeBusy):
objects = PolymorphicBaseManager.from_queryset(AbsenceQuerySet)() objects = RecurrencePolymorphicManager.from_queryset(AbsenceQuerySet)()
reason = models.ForeignKey( reason = models.ForeignKey(
"AbsenceReason", "AbsenceReason",
...@@ -89,9 +91,9 @@ class Absence(FreeBusy): ...@@ -89,9 +91,9 @@ class Absence(FreeBusy):
@classmethod @classmethod
def get_objects( 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: ) -> 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:
if params.get("person"): if params.get("person"):
qs = qs.filter(person_id=params["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