diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql index 21ce30d0b871bcfbd9a5b40b671a8594948a2569..5a520453f35062d49edd5eb82aca291384e2f739 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql @@ -6,7 +6,7 @@ query persons { } } -query lessonsForPersons($persons: [ID]!, $start: Date!, $end: Date!) { +query lessonsForPersons($persons: [ID]!, $start: DateTime!, $end: DateTime!) { items: lessonsForPersons(persons: $persons, start: $start, end: $end) { id lessons { @@ -31,8 +31,8 @@ query lessonsForPersons($persons: [ID]!, $start: Date!, $end: Date!) { # Use absencesInputType? mutation createAbsencesForPersons( $persons: [ID]! - $start: Date! - $end: Date! + $start: DateTime! + $end: DateTime! $comment: String $reason: ID! ) { diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py index f63b8c2c9b8c5c029371e4663f6d70b2e5271bb8..ab87c4306cd144d4c5f27c00914aceeb865584a7 100644 --- a/aleksis/apps/alsijil/schema/__init__.py +++ b/aleksis/apps/alsijil/schema/__init__.py @@ -63,8 +63,8 @@ class Query(graphene.ObjectType): lessons_for_persons = graphene.List( LessonsForPersonType, persons=graphene.List(graphene.ID, required=True), - start=graphene.Date(required=True), - end=graphene.Date(required=True), + start=graphene.DateTime(required=True), + end=graphene.DateTime(required=True), ) extra_marks = FilterOrderList(ExtraMarkType) @@ -213,8 +213,8 @@ class Query(graphene.ObjectType): for person in persons: docs, dummies = Documentation.get_documentations_for_person( person, - datetime.combine(start, datetime.min.time()), - datetime.combine(end, datetime.max.time()), + start, + end, ) lessons_for_person.append(LessonsForPersonType(id=person, lessons=docs + dummies)) diff --git a/aleksis/apps/alsijil/schema/absences.py b/aleksis/apps/alsijil/schema/absences.py index d05ac55214a36430808bd17ec22cc2f4c6767313..dcfe1427e18dd037c928b9bcf478aa4ecbc3e42c 100644 --- a/aleksis/apps/alsijil/schema/absences.py +++ b/aleksis/apps/alsijil/schema/absences.py @@ -14,8 +14,8 @@ from .participation_status import ParticipationStatusType class AbsencesForPersonsCreateMutation(graphene.Mutation): class Arguments: persons = graphene.List(graphene.ID, required=True) - start = graphene.Date(required=True) - end = graphene.Date(required=True) + start = graphene.DateTime(required=True) + end = graphene.DateTime(required=True) comment = graphene.String(required=False) reason = graphene.ID(required=True) @@ -31,17 +31,18 @@ class AbsencesForPersonsCreateMutation(graphene.Mutation): for person in persons: if not info.context.user.has_perm("alsijil.register_absence_rule", person): raise PermissionDenied() + # TODO: fix timeframe kolego_absence, __ = Absence.objects.get_or_create( - date_start=start, - date_end=end, + datetime_start=start, + datetime_end=end, reason_id=reason, person=person, defaults={"comment": comment}, ) events = ParticipationStatus.get_single_events( - datetime.combine(start, datetime.min.time()), - datetime.combine(end, datetime.max.time()), + start, + end, None, {"person": person}, with_reference_object=True,