diff --git a/biscuit/apps/alsijil/templates/alsijil/lesson.html b/biscuit/apps/alsijil/templates/alsijil/lesson.html index c11ef146ac22032fab7fb59f519f9bb29e1871e6..7ed820188b5260e75d199dff21b694f90e46f76a 100644 --- a/biscuit/apps/alsijil/templates/alsijil/lesson.html +++ b/biscuit/apps/alsijil/templates/alsijil/lesson.html @@ -13,35 +13,32 @@ {% block content %} {% if lesson_period %} - <div class="card"> - <div class="card-header bg-light text-dark"> - {% for group in lesson_period.get_groups.all %} - <span>{{ group.short_name }}</span>, - {% endfor %} + <form method="post"> + {% csrf_token %} - {{ lesson_period.get_subject.name }}, + <div class="card"> + <div class="card-header bg-light text-dark"> + {% for group in lesson_period.get_groups.all %} + <span>{{ group.short_name }}</span>, + {% endfor %} - {% for teacher in lesson_period.get_teachers.all %} - {{ teacher.short_name }} - {% endfor %} - </div> - <div class="card-body"> - <form method="post"> + {{ lesson_period.get_subject.name }}, + + {% for teacher in lesson_period.get_teachers.all %} + {{ teacher.short_name }} + {% endfor %} + </div> + <div class="card-body"> {% csrf_token %} {% bootstrap_form lesson_documentation_form %} - <input type="hidden" name="action" value="lesson_documentation" /> - <input type="submit" value="Update" /> - </form> + </div> </div> - </div> - <div class="card"> - <div class="card-header bg-light text-dark"> - {% blocktrans %}Personal notes{% endblocktrans %} - </div> - <div class="card-body"> - <form method="post"> - {% csrf_token %} + <div class="card"> + <div class="card-header bg-light text-dark"> + {% blocktrans %}Personal notes{% endblocktrans %} + </div> + <div class="card-body"> {{ personal_note_formset.management_form }} <table class="table table-striped table-bordered table-hover table-condensed table-responsive w-100 d-block d-md-table"> @@ -63,12 +60,10 @@ </tr> {% endfor %} </table> - - <input type="hidden" name="action" value="personal_notes" /> - <input type="submit" value="Update" /> - </form> + </div> </div> - </div> + <input type="submit" value="{% blocktrans %}Save{% endblocktrans %}" /> + </form> {% else %} <div class="card text-white bg-danger"> <div class="card-header"> diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py index c9e2e7431b5bf79d77f8258826f7170d2dc10ad6..fe0208a1586cfe1e69820c7275584773e8a08b88 100644 --- a/biscuit/apps/alsijil/views.py +++ b/biscuit/apps/alsijil/views.py @@ -35,7 +35,7 @@ def lesson(request: HttpRequest, week: Optional[int] = None, period_id: Optional # 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(instance=lesson_documentation, prefix='leson_documentation') + lesson_documentation_form = LessonDocumentationForm(request.POST or None, instance=lesson_documentation, prefix='leson_documentation') # Create all missing personal notes about members of all groups in lesson for group in lesson_period.lesson.groups.all(): @@ -46,21 +46,13 @@ def lesson(request: HttpRequest, week: Optional[int] = None, period_id: Optional # Create a formset that holds all personal notes for all persons in this lesson persons_qs = PersonalNote.objects.filter( lesson_period=lesson_period, week=wanted_week) - personal_note_formset = PersonalNoteFormSet(queryset=persons_qs, prefix='personal_notes') + personal_note_formset = PersonalNoteFormSet(request.POST or None, queryset=persons_qs, prefix='personal_notes') if request.method == 'POST': - if request.POST.get('action', None) == 'lesson_documentation': - lesson_documentation_form = LessonDocumentationForm(request.POST, instance=lesson_documentation, prefix='leson_documentation') - - # Save the lesson documentation - if lesson_documentation_form.is_valid(): - lesson_documentation_form.save() - elif request.POST.get('action', None) == 'personal_notes': - personal_note_formset = PersonalNoteFormSet(request.POST, queryset=persons_qs, prefix='personal_notes') - - # Save all personal notes - if personal_note_formset.is_valid(): - personal_note_formset.save() + if lesson_documentation_form.is_valid(): + lesson_documentation_form.save() + if personal_note_formset.is_valid(): + personal_note_formset.save() context['lesson_documentation_form'] = lesson_documentation_form context['personal_note_formset'] = personal_note_formset