From 3049dc22fcae1d29c91c92ce977e5372af2112fd Mon Sep 17 00:00:00 2001 From: Dominik George <nik@naturalnet.de> Date: Thu, 22 Aug 2019 22:39:03 +0200 Subject: [PATCH] Add form for lesson documentation. Advances #1. --- biscuit/apps/alsijil/forms.py | 10 ++++ .../alsijil/templates/alsijil/lesson.html | 47 +++++++++++++++++++ biscuit/apps/alsijil/views.py | 13 +++++ 3 files changed, 70 insertions(+) create mode 100644 biscuit/apps/alsijil/forms.py diff --git a/biscuit/apps/alsijil/forms.py b/biscuit/apps/alsijil/forms.py new file mode 100644 index 000000000..f95b379b5 --- /dev/null +++ b/biscuit/apps/alsijil/forms.py @@ -0,0 +1,10 @@ +from django import forms +from django.utils.translation import ugettext_lazy as _ + +from .models import LessonDocumentation + + +class LessonDocumentationForm(forms.ModelForm): + class Meta: + model = LessonDocumentation + fields = ['topic', 'homework'] diff --git a/biscuit/apps/alsijil/templates/alsijil/lesson.html b/biscuit/apps/alsijil/templates/alsijil/lesson.html index e69de29bb..37fab929c 100644 --- a/biscuit/apps/alsijil/templates/alsijil/lesson.html +++ b/biscuit/apps/alsijil/templates/alsijil/lesson.html @@ -0,0 +1,47 @@ +{# -*- engine:django -*- #} +{% extends "core/base.html" %} +{% load bootstrap4 i18n %} + +{% block page_title %} + {% blocktrans %}Lesson{% endblocktrans %} + + - + + {% for group in lesson_period.get_groups.all %} + <span>{{ group.short_name }}</span>, + {% endfor %} + + {{ lesson_period.get_subject.name }}, + + {% for teacher in lesson_period.get_teachers.all %} + {{ teacher.short_name }} + {% endfor %} +{% endblock %} + +{% block content %} + <div class="card"> + <div class="card-header bg-light text-dark"> + {% blocktrans %}Lesson documentation{% endblocktrans %} + </div> + <div class="card-body"> + <form method="post"> + {% csrf_token %} + {% bootstrap_form lesson_documentation_form %} + <input type="hidden" name="action" value="lesson_documentation" /> + <input type="submit" value="Update" /> + </form> + </div> + </div> + + <div class="card"> + <div class="card-header bg-light text-dark"> + {% blocktrans %}Personal notes{% endblocktrans %} + </div> + <div class="card-body"> + <p class="card-text"> + This feature is still missing. + </p> + </div> + </div> +{% endblock %} + diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py index 04cc7aeb4..f5fe81036 100644 --- a/biscuit/apps/alsijil/views.py +++ b/biscuit/apps/alsijil/views.py @@ -8,6 +8,9 @@ from django.utils.translation import ugettext as _ from biscuit.apps.chronos.models import LessonPeriod from biscuit.apps.chronos.util import current_lesson_periods, current_week +from .forms import LessonDocumentationForm +from .models import LessonDocumentation + @login_required def lesson(request: HttpRequest, week: Optional[int] = None, period_id: Optional[int] = None) -> HttpResponse: @@ -24,4 +27,14 @@ def lesson(request: HttpRequest, week: Optional[int] = None, period_id: Optional context['lesson_period'] = lesson_period context['week'] = wanted_week + lesson_documentation, created = LessonDocumentation.get_or_create(lesson_period=lesson_period, week=week) + lesson_documentation_form = LessonDocumentationForm(request.POST or None, instance=lesson_documentation) + + if request.method == 'POST': + if request.POST.get('action', None) == 'lesson_documentation': + if lesson_documentation_form.is_valid(): + lesson_documentation_form.save() + + context['lesson_documentation_form'] = lesson_documentation_form + return render(request, 'alsijil/lesson.html', context) -- GitLab