diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index 79ea32519c451f158100da1f67d6ea6ffb3a1ec6..ec1c62fa3a23ae6f28c678b2f5aa45b839fcaf19 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -10,17 +10,17 @@ from aleksis.core.util.predicates import ( from .util.predicates import ( has_any_object_absence, has_lesson_group_object_perm, - has_personal_note_group_perm, has_person_group_object_perm, + has_personal_note_group_perm, is_group_member, is_group_owner, is_lesson_parent_group_owner, is_lesson_participant, is_lesson_teacher, is_own_personal_note, + is_person_group_owner, is_personal_note_lesson_parent_group_owner, is_personal_note_lesson_teacher, - is_person_group_owner, ) # View lesson @@ -95,8 +95,7 @@ add_perm("alsijil.view_week_personalnote", view_week_personal_notes_predicate) # View register absence page view_register_absence_predicate = has_person & ( - has_global_perm("alsijil.register_absence") - | has_any_object_absence + has_global_perm("alsijil.register_absence") | has_any_object_absence ) add_perm("alsijil.view_register_absence", view_register_absence_predicate) diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index 6540aeb5dffd1368058a087da92c2d3bbf303f33..05c29eacc2e3d36cc6f6dcc1ebe0279299f4cfc4 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -7,8 +7,8 @@ from rules import predicate from aleksis.apps.chronos.models import LessonPeriod from aleksis.core.models import Group, Person -from aleksis.core.util.predicates import check_object_permission from aleksis.core.util.core_helpers import get_site_preferences +from aleksis.core.util.predicates import check_object_permission from ..models import PersonalNote @@ -21,9 +21,8 @@ def is_lesson_teacher(user: User, obj: LessonPeriod) -> bool: in the lesson or the substitution linked to the given LessonPeriod. """ if obj: - return ( - user.person in obj.lesson.teachers.all() - or user.person in Person.objects.filter(lesson_substitutions=obj.get_substitution()) + return user.person in obj.lesson.teachers.all() or user.person in Person.objects.filter( + lesson_substitutions=obj.get_substitution() ) return True @@ -154,7 +153,10 @@ def is_own_personal_note(user: User, obj: PersonalNote) -> bool: Is configurable via dynamic preferences. """ if hasattr(obj, "person"): - if get_site_preferences()["alsijil__view_own_personal_notes"] and obj.person is user.person: + if ( + get_site_preferences()["alsijil__view_own_personal_notes"] + and obj.person is user.person + ): return True return False @@ -168,9 +170,8 @@ def is_personal_note_lesson_teacher(user: User, obj: PersonalNote) -> bool: """ if hasattr(obj, "lesson_period"): if hasattr(obj.lesson_period, "lesson"): - return ( - user.person in obj.lesson_period.lesson.teachers.all() - or user.person in Person.objects.filter(lesson_substitutions=obj.lesson_period.get_substitution()) + return user.person in obj.lesson_period.lesson.teachers.all() or user.person in Person.objects.filter( + lesson_substitutions=obj.lesson_period.get_substitution() ) return False return False @@ -186,7 +187,9 @@ def is_personal_note_lesson_parent_group_owner(user: User, obj: PersonalNote) -> """ if hasattr(obj, "lesson_period"): if hasattr(obj.lesson_period, "lesson"): - return obj.lesson_period.lesson.groups.filter(parent_groups__owners=user.person).exists() + return obj.lesson_period.lesson.groups.filter( + parent_groups__owners=user.person + ).exists() return False return False @@ -200,5 +203,7 @@ def has_any_object_absence(user: User) -> bool: return True if Person.objects.filter(member_of__owners=user.person).exists(): return True - if Person.objects.filter(member_of__in=get_objects_for_user(user, "core.register_absence_group", Group)).exists(): + if Person.objects.filter( + member_of__in=get_objects_for_user(user, "core.register_absence_group", Group) + ).exists(): return True