From a5951b81c3c3729cc16517c4c551e78f35066401 Mon Sep 17 00:00:00 2001
From: Julian Leucker <leuckerj@gmail.com>
Date: Tue, 14 May 2024 12:58:47 +0200
Subject: [PATCH] Reformat

---
 .../absences/ManageStudentsDialog.vue         |  2 +-
 .../coursebook/documentation/LessonNotes.vue  |  6 +-
 aleksis/apps/alsijil/models.py                | 88 ++++++++-----------
 aleksis/apps/alsijil/schema/__init__.py       | 11 +--
 4 files changed, 46 insertions(+), 61 deletions(-)

diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue
index 0de1aa832..824f3da29 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/ManageStudentsDialog.vue
@@ -6,7 +6,7 @@ import MobileFullscreenDialog from "aleksis.core/components/generic/dialogs/Mobi
 import mutateMixin from "aleksis.core/mixins/mutateMixin.js";
 import documentationPartMixin from "../documentation/documentationPartMixin";
 import LessonInformation from "../documentation/LessonInformation.vue";
-import updateParticipationStatuses from "./participationStatus.graphql";
+import { updateParticipationStatuses } from "./participationStatus.graphql";
 import SlideIterator from "aleksis.core/components/generic/SlideIterator.vue";
 
 export default {
diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue
index d917bc4c7..8f40f71b6 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonNotes.vue
@@ -4,9 +4,9 @@
   >
     <!-- eslint-disable @intlify/vue-i18n/no-raw-text -->
     <v-chip dense color="success">
-      <v-chip small dense class="mr-2" color="green darken-3 white--text"
-        >{{ documentation.participations.length }}</v-chip
-      >
+      <v-chip small dense class="mr-2" color="green darken-3 white--text">
+        {{ documentation.participations.length }}
+      </v-chip>
       Schüler
     </v-chip>
     <v-chip dense color="warning">
diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 89b15ef94..2449efb31 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -2,17 +2,16 @@ from datetime import date, datetime
 from typing import Optional, Union
 from urllib.parse import urlparse
 
+from django.contrib.auth.models import User
 from django.core.exceptions import PermissionDenied
 from django.db import models
 from django.db.models import QuerySet
 from django.db.models.constraints import CheckConstraint
 from django.db.models.query_utils import Q
-from django.http import HttpRequest
 from django.urls import reverse
 from django.utils.formats import date_format
 from django.utils.timezone import localdate, localtime
 from django.utils.translation import gettext_lazy as _
-from django.contrib.auth.models import User
 
 from calendarweek import CalendarWeek
 from colorfield.fields import ColorField
@@ -519,9 +518,9 @@ class Documentation(CalendarEvent):
 
     @classmethod
     def get_documentations_for_events(
-            cls,
-            events: list,
-            incomplete: Optional[bool] = False,
+        cls,
+        events: list,
+        incomplete: Optional[bool] = False,
     ) -> tuple:
         """Get all the documentations for the events.
         Create dummy documentations if none exist.
@@ -573,11 +572,11 @@ class Documentation(CalendarEvent):
 
     @classmethod
     def get_documentations_for_person(
-            cls,
-            person: int,
-            start: datetime,
-            end: datetime,
-            incomplete: Optional[bool] = False,
+        cls,
+        person: int,
+        start: datetime,
+        end: datetime,
+        incomplete: Optional[bool] = False,
     ) -> tuple:
         """Get all the documentations for the person from start to end datetime.
         Create dummy documentations if none exist.
@@ -600,65 +599,54 @@ class Documentation(CalendarEvent):
 
     @classmethod
     def parse_dummy(
-            cls,
-            _id: str,
+        cls,
+        _id: str,
     ) -> tuple:
-        """Parse dummy id string into lesson_event, datetime_start, datetime_end.
-        """
+        """Parse dummy id string into lesson_event, datetime_start, datetime_end."""
         dummy, lesson_event_id, datetime_start_iso, datetime_end_iso = _id.split(";")
         lesson_event = LessonEvent.objects.get(id=lesson_event_id)
 
         datetime_start = datetime.fromisoformat(datetime_start_iso).astimezone(
             lesson_event.timezone
         )
-        datetime_end = datetime.fromisoformat(datetime_end_iso).astimezone(
-            lesson_event.timezone
-        )
+        datetime_end = datetime.fromisoformat(datetime_end_iso).astimezone(lesson_event.timezone)
         return (lesson_event, datetime_start, datetime_end)
 
     @classmethod
     def create_from_lesson_event(
-            cls,
-            user: User,
-            lesson_event: LessonEvent,
-            datetime_start: datetime,
-            datetime_end: datetime,
+        cls,
+        user: User,
+        lesson_event: LessonEvent,
+        datetime_start: datetime,
+        datetime_end: datetime,
     ) -> "Documentation":
-        """ Create a documentation from a lesson_event with start and end datetime.
+        """Create a documentation from a lesson_event with start and end datetime.
         User is needed for permission checking.
         """
         if not user.has_perm(
-                "alsijil.add_documentation_for_lesson_event_rule", lesson_event
-            ) or not (
-                get_site_preferences()["alsijil__allow_edit_future_documentations"] == "all"
-                or (
-                    get_site_preferences()["alsijil__allow_edit_future_documentations"]
-                    == "current_day"
-                    and datetime_start.date() <= localdate()
-                )
-                or (
-                    get_site_preferences()["alsijil__allow_edit_future_documentations"]
-                    == "current_time"
-                    and datetime_start <= localtime()
-                )
-            ):
+            "alsijil.add_documentation_for_lesson_event_rule", lesson_event
+        ) or not (
+            get_site_preferences()["alsijil__allow_edit_future_documentations"] == "all"
+            or (
+                get_site_preferences()["alsijil__allow_edit_future_documentations"] == "current_day"
+                and datetime_start.date() <= localdate()
+            )
+            or (
+                get_site_preferences()["alsijil__allow_edit_future_documentations"]
+                == "current_time"
+                and datetime_start <= localtime()
+            )
+        ):
             raise PermissionDenied()
 
         if lesson_event.amends:
-            if lesson_event.course:
-                course = lesson_event.course
-            else:
-                course = lesson_event.amends.course
+            course = lesson_event.course if lesson_event.course else lesson_event.amends.course
 
-            if lesson_event.subject:
-                subject = lesson_event.subject
-            else:
-                subject = lesson_event.amends.subject
+            subject = lesson_event.subject if lesson_event.subject else lesson_event.amends.subject
 
-            if lesson_event.teachers:
-                teachers = lesson_event.teachers
-            else:
-                teachers = lesson_event.amends.teachers
+            teachers = (
+                lesson_event.teachers if lesson_event.teachers else lesson_event.amends.teachers
+            )
         else:
             course, subject, teachers = (
                 lesson_event.course,
@@ -699,7 +687,7 @@ class Documentation(CalendarEvent):
         return obj
 
     @classmethod
-    def get_or_create_by_id(cls, _id: str|int, user):
+    def get_or_create_by_id(cls, _id: str | int, user):
         if _id.startswith("DUMMY"):
             return cls.create_from_lesson_event(
                 user,
diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py
index 01366e832..48e1c20c6 100644
--- a/aleksis/apps/alsijil/schema/__init__.py
+++ b/aleksis/apps/alsijil/schema/__init__.py
@@ -5,13 +5,13 @@ from django.db.models.query_utils import Q
 
 import graphene
 
+from aleksis.apps.chronos.models import LessonEvent
 from aleksis.apps.cursus.models import Course
 from aleksis.apps.cursus.schema import CourseType
 from aleksis.core.models import Group, Person
 from aleksis.core.schema.base import FilterOrderList
 from aleksis.core.schema.group import GroupType
 from aleksis.core.util.core_helpers import has_person
-from aleksis.apps.chronos.models import LessonEvent
 
 from ..models import Documentation
 from .documentation import (
@@ -153,8 +153,7 @@ class Query(graphene.ObjectType):
         end,
         **kwargs,
     ):
-        """Resolve all lesson events for each person in timeframe start to end.
-        """
+        """Resolve all lesson events for each person in timeframe start to end."""
         lessons_for_person = []
         for person in persons:
             docs, dummies = Documentation.get_documentations_for_person(
@@ -163,14 +162,12 @@ class Query(graphene.ObjectType):
                 datetime.combine(end, datetime.max.time()),
             )
 
-            lessons_for_person.append(
-                id=person,
-                lessons=docs + dummies
-            )
+            lessons_for_person.append(id=person, lessons=docs + dummies)
 
         return lessons_for_person
 
 
 class Mutation(graphene.ObjectType):
     create_or_update_documentations = DocumentationBatchCreateOrUpdateMutation.Field()
+    touch_documentation = TouchDocumentationMutation.Field()
     update_participation_statuses = ParticipationStatusBatchPatchMutation.Field()
-- 
GitLab