diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 848c6696161dbc04a847e6f0e9b42758d3a60ba5..bab91988cd74c1e6f36b910b301454c0aa8b72c5 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 cdb2eaca122330f70bd75023a463f2dc1dc0e8e7..b833de336b2a2add64ac5f0e0cf6dd7fdd8ae0c5 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()