diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py index adb3dfffcd6bb4a48c055ca02d245f2da9048c94..87d1e927f64d6a0e0fee574a0b2f6eb81514ce75 100644 --- a/biscuit/apps/alsijil/views.py +++ b/biscuit/apps/alsijil/views.py @@ -1,8 +1,9 @@ from collections import OrderedDict -from datetime import date, timedelta +from datetime import date, datetime, timedelta from typing import Optional from django.contrib.auth.decorators import login_required +from django.core.exceptions import PermissionDenied from django.db.models import Count, Exists, F, OuterRef, Q, Sum from django.http import Http404, HttpRequest, HttpResponse from django.shortcuts import get_object_or_404, render @@ -35,6 +36,9 @@ def lesson(request: HttpRequest, year: Optional[int] = None, week: Optional[int] if not lesson_period: raise Http404(_('You either selected an invalid lesson or there is currently no lesson in progress.')) + if datetime.combine(wanted_week[lesson_period.period.weekday - 1], lesson_period.period.time_start) < datetime.now(): + raise PermissionDenied(_('You are not allowed to create a lesson documentation for a lesson in the future.')) + context['lesson_period'] = lesson_period context['week'] = wanted_week context['day'] = wanted_week[lesson_period.period.weekday - 1]