From 5535e999e071b79f740a43f2f3da3dbec2131a61 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sat, 9 Nov 2024 21:05:13 +0100
Subject: [PATCH] Fix documentations from student perspective

---
 aleksis/apps/alsijil/models.py               | 23 +++++---------------
 aleksis/apps/alsijil/schema/documentation.py |  4 +++-
 2 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 848c66961..bab91988c 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -171,24 +171,11 @@ class Documentation(CalendarEvent):
 
             doc = next(existing_documentations_event, None)
             if doc:
-                if (
-                    (incomplete and doc.topic)
-                    or (
-                        not request.user.has_perm(
-                            "alsijil.edit_participation_status_for_documentation_rule", doc
-                        )
-                        and not [
-                            d
-                            for d in doc.participations.all()
-                            if d.absence_reason and d.person_id == request.user.person.id
-                        ]
-                    )
-                    or (
-                        absences_exist
-                        and (
-                            not doc.participations.all()
-                            or not [d for d in doc.participations.all() if d.absence_reason]
-                        )
+                if (incomplete and doc.topic) or (
+                    absences_exist
+                    and (
+                        not doc.participations.all()
+                        or not [d for d in doc.participations.all() if d.absence_reason]
                     )
                 ):
                     continue
diff --git a/aleksis/apps/alsijil/schema/documentation.py b/aleksis/apps/alsijil/schema/documentation.py
index cdb2eaca1..b833de336 100644
--- a/aleksis/apps/alsijil/schema/documentation.py
+++ b/aleksis/apps/alsijil/schema/documentation.py
@@ -108,7 +108,9 @@ class DocumentationType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectTyp
             "alsijil.view_participation_status_for_documentation_rule", root
         ):
             if has_person(info.context.user):
-                return root.participations.filter(person=info.context.user.person)
+                return [
+                    p for p in root.participations.all() if p.person == info.context.user.person
+                ]
             return []
         return root.participations.all()
 
-- 
GitLab