Skip to content
Snippets Groups Projects

Disallow creating lesson documentation for lessons in the future. Close #30.

Merged Tom Teichler requested to merge 30-prevent-lesson-edition-in-the-future into master
1 file
+ 4
3
Compare changes
  • Side-by-side
  • Inline
from collections import OrderedDict
from collections import OrderedDict
from datetime import date, timedelta
from datetime import date, datetime, timedelta
from typing import Optional
from typing import Optional
from django.contrib.auth.decorators import login_required
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.db.models import Count, Exists, F, OuterRef, Q, Sum
from django.http import Http404, HttpRequest, HttpResponse
from django.http import Http404, HttpRequest, HttpResponse
from django.shortcuts import get_object_or_404, render
from django.shortcuts import get_object_or_404, render
@@ -35,6 +36,9 @@ def lesson(request: HttpRequest, year: Optional[int] = None, week: Optional[int]
@@ -35,6 +36,9 @@ def lesson(request: HttpRequest, year: Optional[int] = None, week: Optional[int]
if not lesson_period:
if not lesson_period:
raise Http404(_('You either selected an invalid lesson or there is currently no lesson in progress.'))
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['lesson_period'] = lesson_period
context['week'] = wanted_week
context['week'] = wanted_week
context['day'] = wanted_week[lesson_period.period.weekday - 1]
context['day'] = wanted_week[lesson_period.period.weekday - 1]
Loading