From c8b20d105b38ce6845f0ffbcb4ec56257641a119 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Tue, 14 Jul 2020 21:09:55 +0200
Subject: [PATCH] [Lesson view] Add form field for extra marks in personal note
 table

---
 aleksis/apps/alsijil/forms.py                    |  2 +-
 .../apps/alsijil/static/css/alsijil/lesson.css   |  8 ++++++++
 .../templates/alsijil/class_register/lesson.html | 16 +++++++++++++++-
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/aleksis/apps/alsijil/forms.py b/aleksis/apps/alsijil/forms.py
index 7def50627..dde0bc501 100644
--- a/aleksis/apps/alsijil/forms.py
+++ b/aleksis/apps/alsijil/forms.py
@@ -28,7 +28,7 @@ class LessonDocumentationForm(forms.ModelForm):
 class PersonalNoteForm(forms.ModelForm):
     class Meta:
         model = PersonalNote
-        fields = ["absent", "late", "excused", "remarks"]
+        fields = ["absent", "late", "excused", "extra_marks", "remarks"]
 
     person_name = forms.CharField(disabled=True)
 
diff --git a/aleksis/apps/alsijil/static/css/alsijil/lesson.css b/aleksis/apps/alsijil/static/css/alsijil/lesson.css
index 83b7db8e9..6d57c7e99 100644
--- a/aleksis/apps/alsijil/static/css/alsijil/lesson.css
+++ b/aleksis/apps/alsijil/static/css/alsijil/lesson.css
@@ -1,3 +1,11 @@
+.alsijil-check-box {
+    margin-right: 10px;
+}
+
+.alsijil-check-box [type="checkbox"] {
+    padding-left: 30px;
+}
+
 .alsijil-lesson-cancelled {
     text-decoration: line-through;
 }
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
index 5748e84a6..79374d472 100644
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
@@ -1,6 +1,6 @@
 {# -*- engine:django -*- #}
 {% extends "core/base.html" %}
-{% load week_helpers %}
+{% load week_helpers material_form_internal %}
 {% load material_form i18n static %}
 
 {% block browser_title %}{% blocktrans %}Lesson{% endblocktrans %}{% endblock %}
@@ -144,6 +144,7 @@
                 <th>{% blocktrans %}Absent{% endblocktrans %}</th>
                 <th>{% blocktrans %}Tardiness{% endblocktrans %}</th>
                 <th>{% blocktrans %}Excused{% endblocktrans %}</th>
+                <th>{% blocktrans %}Extra marks{% endblocktrans %}</th>
                 <th>{% blocktrans %}Remarks{% endblocktrans %}</th>
               </tr>
               </thead>
@@ -172,6 +173,19 @@
                       <span></span>
                     </label>
                   </td>
+                  <td>
+                    {% for group, items in form.extra_marks|select_options %}
+                      {% for choice, value, selected in items %}
+                        <label class="{% if selected %} active{% endif %} alsijil-check-box">
+                          <input type="checkbox"
+                                 {% if value == None or value == '' %}disabled{% else %}value="{{ value }}"{% endif %}
+                                  {% if selected %} checked="checked"{% endif %}
+                                 name="{{ form.extra_marks.html_name }}">
+                          <span>{{ choice }}</span>
+                        </label>
+                      {% endfor %}
+                    {% endfor %}
+                  </td>
                   <td>
                     <div class="input-field">
                       {{ form.remarks }}
-- 
GitLab