diff --git a/aleksis/apps/alsijil/model_extensions.py b/aleksis/apps/alsijil/model_extensions.py index c26ca8edeba9f1e74f550fe0ba9644308e831f8c..3f0b0df19bc8ed0ceb02b52f209fa7b74b668d64 100644 --- a/aleksis/apps/alsijil/model_extensions.py +++ b/aleksis/apps/alsijil/model_extensions.py @@ -126,6 +126,7 @@ Person.add_permission( "register_absence_person", _("Can register an absence for a person") ) + @LessonPeriod.method def get_lesson_documentation( self, week: Optional[CalendarWeek] = None diff --git a/aleksis/apps/alsijil/util/alsijil_helpers.py b/aleksis/apps/alsijil/util/alsijil_helpers.py index 98b143d4313522fa81254b5e8b7536bb3515122c..51279dc62615a8d5432a3b654095d8d10c895eaa 100644 --- a/aleksis/apps/alsijil/util/alsijil_helpers.py +++ b/aleksis/apps/alsijil/util/alsijil_helpers.py @@ -1,8 +1,9 @@ from typing import Optional -from calendarweek import CalendarWeek from django.http import HttpRequest +from calendarweek import CalendarWeek + from aleksis.apps.chronos.models import LessonPeriod from aleksis.apps.chronos.util.chronos_helpers import get_el_by_pk @@ -16,7 +17,9 @@ def get_lesson_period_by_pk( """Get LessonPeriod object either by given object_id or by time and current person.""" wanted_week = CalendarWeek(year=year, week=week) if period_id: - lesson_period = LessonPeriod.objects.annotate_week(wanted_week).get(pk=period_id) + lesson_period = LessonPeriod.objects.annotate_week(wanted_week).get( + pk=period_id + ) elif hasattr(request, "user") and hasattr(request.user, "person"): if request.user.person.lessons_as_teacher.exists(): lesson_period = ( diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index 3b747b695a3f6f0e290965c849c2544d9e38fd7a..9f2424bfd03106030f21439d1eb18d18ead6435a 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -17,7 +17,10 @@ def is_lesson_teacher(user: User, obj: LessonPeriod) -> bool: in the lesson or the substitution linked to the given LessonPeriod. """ if hasattr(obj, "lesson"): - return user.person in obj.lesson.teachers.all() or user.person in obj.substitutions.teachers.all() + return ( + user.person in obj.lesson.teachers.all() + or user.person in obj.substitutions.teachers.all() + ) return True diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 96be3b77eb52cc5bb4047b909a1b892954bf9155..6e09bc743bc5444394d2b8b8bff1f6096be45b0b 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -10,9 +10,8 @@ from django.utils.translation import ugettext as _ from calendarweek import CalendarWeek from django_tables2 import RequestConfig, SingleTableView -from rules.contrib.views import permission_required from reversion.views import RevisionMixin -from rules.contrib.views import PermissionRequiredMixin +from rules.contrib.views import PermissionRequiredMixin, permission_required from aleksis.apps.chronos.managers import TimetableType from aleksis.apps.chronos.models import LessonPeriod, LessonSubstitution @@ -21,8 +20,7 @@ from aleksis.apps.chronos.util.date import week_weekday_to_date from aleksis.core.mixins import AdvancedCreateView, AdvancedDeleteView, AdvancedEditView from aleksis.core.models import Group, Person, SchoolTerm from aleksis.core.util import messages -from aleksis.core.util.core_helpers import get_site_preferences -from aleksis.core.util.core_helpers import objectgetter_optional +from aleksis.core.util.core_helpers import get_site_preferences, objectgetter_optional from .forms import ( ExcuseTypeForm, @@ -34,8 +32,6 @@ from .forms import ( ) from .models import ExcuseType, ExtraMark, LessonDocumentation from .tables import ExcuseTypeTable, ExtraMarkTable -from .models import ExcuseType, LessonDocumentation -from .tables import ExcuseTypeTable from .util.alsijil_helpers import get_instance_by_pk, get_lesson_period_by_pk