diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py index 1a8e1ab28e5538a3a9648d397f66e8404e9240ca..84a4c9b66fa61a2d33bb39478a58699a5bf05044 100644 --- a/biscuit/apps/alsijil/views.py +++ b/biscuit/apps/alsijil/views.py @@ -17,9 +17,11 @@ def lesson(request: HttpRequest, week: Optional[int] = None, period_id: Optional context = {} if week and period_id: + # Get a specific lesson period if provided in URL lesson_period = LessonPeriod.objects.get(pk=period_id) wanted_week = week else: + # Determine current lesson by current date and time lesson_period = current_lesson_periods().filter( lesson__teachers=request.user.person).first() wanted_week = current_week() @@ -28,11 +30,13 @@ def lesson(request: HttpRequest, week: Optional[int] = None, period_id: Optional context['week'] = wanted_week if lesson_period: + # Create or get lesson documentation object; can be empty when first opening lesson lesson_documentation, created = LessonDocumentation.objects.get_or_create(lesson_period=lesson_period, week=wanted_week) lesson_documentation_form = LessonDocumentationForm(request.POST or None, instance=lesson_documentation) if request.method == 'POST': if request.POST.get('action', None) == 'lesson_documentation': + # Save the lesson documentation if lesson_documentation_form.is_valid(): lesson_documentation_form.save()