Skip to content
Snippets Groups Projects
Verified Commit 6468dc00 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Fix multiple forms.

parent 23ac6a88
No related branches found
No related tags found
No related merge requests found
......@@ -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">
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment