diff --git a/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po
index d13da9c3e540c135d89bd5bf63dc8b93148e0b28..3e06d2db491f8a83e701d74ccf17bd342d47c2f5 100644
--- a/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-21 12:39+0200\n"
+"POT-Creation-Date: 2020-09-11 11:08+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -56,7 +56,7 @@ msgid "Person"
 msgstr ""
 
 #: forms.py:107 templates/alsijil/class_register/lesson.html:164
-#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:172
 #: templates/alsijil/class_register/week_view.html:119
 #: templates/alsijil/print/full_register.html:75
 #: templates/alsijil/print/full_register.html:312
@@ -64,8 +64,8 @@ msgid "Absent"
 msgstr ""
 
 #: forms.py:108 templates/alsijil/class_register/lesson.html:166
-#: templates/alsijil/class_register/person.html:66
-#: templates/alsijil/class_register/person.html:168
+#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:180
 #: templates/alsijil/partials/mark_as_buttons.html:2
 #: templates/alsijil/partials/mark_as_buttons.html:3
 #: templates/alsijil/print/full_register.html:84
@@ -73,7 +73,7 @@ msgstr ""
 msgid "Excused"
 msgstr ""
 
-#: forms.py:110 models.py:37 models.py:68
+#: forms.py:110 models.py:38 models.py:69
 #: templates/alsijil/class_register/lesson.html:167
 #: templates/alsijil/class_register/lesson.html:202
 msgid "Excuse type"
@@ -98,26 +98,31 @@ msgstr ""
 msgid "Current week"
 msgstr ""
 
-#: menus.py:28
+#: menus.py:28 templates/alsijil/class_register/groups.html:5
+#: templates/alsijil/class_register/groups.html:9
+msgid "My groups"
+msgstr ""
+
+#: menus.py:34
 msgid "My overview"
 msgstr ""
 
-#: menus.py:34 templates/alsijil/class_register/persons.html:7
+#: menus.py:40 templates/alsijil/class_register/persons.html:7
 #: templates/alsijil/class_register/persons.html:11
 msgid "My students"
 msgstr ""
 
-#: menus.py:40 templates/alsijil/absences/register.html:5
+#: menus.py:46 templates/alsijil/absences/register.html:5
 #: templates/alsijil/absences/register.html:6
 msgid "Register absence"
 msgstr ""
 
-#: menus.py:46 models.py:38 templates/alsijil/excuse_type/list.html:8
+#: menus.py:52 models.py:39 templates/alsijil/excuse_type/list.html:8
 #: templates/alsijil/excuse_type/list.html:9
 msgid "Excuse types"
 msgstr ""
 
-#: menus.py:52 models.py:74 models.py:190
+#: menus.py:58 models.py:75 models.py:210
 #: templates/alsijil/class_register/lesson.html:168
 #: templates/alsijil/extra_mark/list.html:8
 #: templates/alsijil/extra_mark/list.html:9
@@ -125,51 +130,51 @@ msgstr ""
 msgid "Extra marks"
 msgstr ""
 
-#: models.py:24 models.py:176
+#: models.py:25 models.py:196
 msgid "Short name"
 msgstr ""
 
-#: models.py:26 models.py:178
+#: models.py:27 models.py:198
 msgid "Name"
 msgstr ""
 
-#: models.py:54 models.py:106
+#: models.py:55 models.py:126
 msgid "Year"
 msgstr ""
 
-#: models.py:86
+#: models.py:106
 msgid "Personal note"
 msgstr ""
 
-#: models.py:87 templates/alsijil/class_register/lesson.html:64
+#: models.py:107 templates/alsijil/class_register/lesson.html:64
 #: templates/alsijil/class_register/lesson.html:156
 #: templates/alsijil/class_register/week_view.html:112
 msgid "Personal notes"
 msgstr ""
 
-#: models.py:112 templates/alsijil/class_register/week_view.html:64
+#: models.py:132 templates/alsijil/class_register/week_view.html:64
 #: templates/alsijil/print/full_register.html:371
 msgid "Lesson topic"
 msgstr ""
 
-#: models.py:113 templates/alsijil/print/full_register.html:372
+#: models.py:133 templates/alsijil/print/full_register.html:372
 msgid "Homework"
 msgstr ""
 
-#: models.py:115
+#: models.py:135
 msgid "Group note"
 msgstr ""
 
-#: models.py:158 templates/alsijil/class_register/lesson.html:60
+#: models.py:178 templates/alsijil/class_register/lesson.html:60
 #: templates/alsijil/class_register/lesson.html:143
 msgid "Lesson documentation"
 msgstr ""
 
-#: models.py:159
+#: models.py:179
 msgid "Lesson documentations"
 msgstr ""
 
-#: models.py:189
+#: models.py:209
 msgid "Extra mark"
 msgstr ""
 
@@ -201,6 +206,10 @@ msgstr ""
 msgid "Delete"
 msgstr ""
 
+#: templates/alsijil/class_register/groups.html:20
+msgid "No groups available."
+msgstr ""
+
 #: templates/alsijil/class_register/lesson.html:6
 msgid "Lesson"
 msgstr ""
@@ -249,7 +258,7 @@ msgid "Late persons:"
 msgstr ""
 
 #: templates/alsijil/class_register/lesson.html:165
-#: templates/alsijil/class_register/person.html:78
+#: templates/alsijil/class_register/person.html:86
 #: templates/alsijil/print/full_register.html:287
 msgid "Tardiness"
 msgstr ""
@@ -275,52 +284,59 @@ msgid "Unexcused absences"
 msgstr ""
 
 #: templates/alsijil/class_register/person.html:27
-#: templates/alsijil/class_register/person.html:40
-#: templates/alsijil/class_register/person.html:152
-#: templates/alsijil/class_register/person.html:190
+#: templates/alsijil/class_register/person.html:44
+#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:202
 msgid "Mark as"
 msgstr ""
 
+#: templates/alsijil/class_register/person.html:30
 #: templates/alsijil/class_register/person.html:47
+#: templates/alsijil/class_register/person.html:163
+#: templates/alsijil/class_register/person.html:205
+msgid "Delete note"
+msgstr ""
+
+#: templates/alsijil/class_register/person.html:55
 msgid "There are unexcused lessons."
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:51
+#: templates/alsijil/class_register/person.html:59
 msgid "Statistics on absences, tardiness and remarks"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:60
+#: templates/alsijil/class_register/person.html:68
 #: templates/alsijil/print/full_register.html:269
 msgid "Absences"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:64
+#: templates/alsijil/class_register/person.html:72
 #: templates/alsijil/print/full_register.html:274
 msgid "thereof"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:82
 #: templates/alsijil/print/full_register.html:81
 #: templates/alsijil/print/full_register.html:283
 msgid "Unexcused"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:94
+#: templates/alsijil/class_register/person.html:102
 #: templates/alsijil/print/full_register.html:304
 msgid "Relevant personal notes"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:110
+#: templates/alsijil/class_register/person.html:118
 #, python-format
 msgid "Week %(week)s"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:118
-#: templates/alsijil/class_register/person.html:127
+#: templates/alsijil/class_register/person.html:126
+#: templates/alsijil/class_register/person.html:135
 msgid "Mark all as"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:175
+#: templates/alsijil/class_register/person.html:187
 #, python-format
 msgid "%(late)s' late"
 msgstr ""
@@ -614,58 +630,62 @@ msgstr ""
 msgid "Notes"
 msgstr ""
 
-#: views.py:76
+#: views.py:78
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: views.py:94
+#: views.py:96
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: views.py:120
+#: views.py:122
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: views.py:140
+#: views.py:143
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: views.py:348
+#: views.py:351
 msgid "There is no current school term."
 msgstr ""
 
-#: views.py:513
+#: views.py:532
 msgid "The absences have been marked as excused."
 msgstr ""
 
-#: views.py:528
+#: views.py:548
 msgid "The absence has been marked as excused."
 msgstr ""
 
-#: views.py:633
+#: views.py:653
 msgid "The absence has been saved."
 msgstr ""
 
-#: views.py:658
+#: views.py:670
+msgid "The personal note has been deleted."
+msgstr ""
+
+#: views.py:691
 msgid "The extra mark has been created."
 msgstr ""
 
-#: views.py:669
+#: views.py:702
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: views.py:679
+#: views.py:712
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: views.py:699
+#: views.py:732
 msgid "The excuse type has been created."
 msgstr ""
 
-#: views.py:710
+#: views.py:743
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: views.py:720
+#: views.py:753
 msgid "The excuse type has been deleted."
 msgstr ""
diff --git a/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po
index 0218ac55ccbd0ef475fd903b3d68d34330880aa8..b0d96f7785d7b14aa5a338a6fe4b79648efb5890 100644
--- a/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po
@@ -7,11 +7,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-21 12:39+0200\n"
+"POT-Creation-Date: 2020-09-11 11:08+0200\n"
 "PO-Revision-Date: 2020-09-06 17:48+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
-"Language-Team: German <https://translate.edugit.org/projects/aleksis/"
-"aleksis-app-alsijil/de/>\n"
+"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/de/>\n"
 "Language: de_DE\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -57,7 +56,7 @@ msgid "Person"
 msgstr "Person"
 
 #: forms.py:107 templates/alsijil/class_register/lesson.html:164
-#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:172
 #: templates/alsijil/class_register/week_view.html:119
 #: templates/alsijil/print/full_register.html:75
 #: templates/alsijil/print/full_register.html:312
@@ -65,8 +64,8 @@ msgid "Absent"
 msgstr "Abwesend"
 
 #: forms.py:108 templates/alsijil/class_register/lesson.html:166
-#: templates/alsijil/class_register/person.html:66
-#: templates/alsijil/class_register/person.html:168
+#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:180
 #: templates/alsijil/partials/mark_as_buttons.html:2
 #: templates/alsijil/partials/mark_as_buttons.html:3
 #: templates/alsijil/print/full_register.html:84
@@ -74,7 +73,7 @@ msgstr "Abwesend"
 msgid "Excused"
 msgstr "Entschuldigt"
 
-#: forms.py:110 models.py:37 models.py:68
+#: forms.py:110 models.py:38 models.py:69
 #: templates/alsijil/class_register/lesson.html:167
 #: templates/alsijil/class_register/lesson.html:202
 msgid "Excuse type"
@@ -99,26 +98,33 @@ msgstr "Aktuelle Unterrichtsstunde"
 msgid "Current week"
 msgstr "Aktuelle Woche"
 
-#: menus.py:28
+#: menus.py:28 templates/alsijil/class_register/groups.html:5
+#: templates/alsijil/class_register/groups.html:9
+#, fuzzy
+#| msgid "Groups"
+msgid "My groups"
+msgstr "Gruppen"
+
+#: menus.py:34
 msgid "My overview"
 msgstr "Meine Ãœbersicht"
 
-#: menus.py:34 templates/alsijil/class_register/persons.html:7
+#: menus.py:40 templates/alsijil/class_register/persons.html:7
 #: templates/alsijil/class_register/persons.html:11
 msgid "My students"
 msgstr "Meine Schüler*innen"
 
-#: menus.py:40 templates/alsijil/absences/register.html:5
+#: menus.py:46 templates/alsijil/absences/register.html:5
 #: templates/alsijil/absences/register.html:6
 msgid "Register absence"
 msgstr "Abwesenheit eintragen"
 
-#: menus.py:46 models.py:38 templates/alsijil/excuse_type/list.html:8
+#: menus.py:52 models.py:39 templates/alsijil/excuse_type/list.html:8
 #: templates/alsijil/excuse_type/list.html:9
 msgid "Excuse types"
 msgstr "Entschuldigungsarten"
 
-#: menus.py:52 models.py:74 models.py:190
+#: menus.py:58 models.py:75 models.py:210
 #: templates/alsijil/class_register/lesson.html:168
 #: templates/alsijil/extra_mark/list.html:8
 #: templates/alsijil/extra_mark/list.html:9
@@ -126,51 +132,51 @@ msgstr "Entschuldigungsarten"
 msgid "Extra marks"
 msgstr "Zusätzliche Markierungen"
 
-#: models.py:24 models.py:176
+#: models.py:25 models.py:196
 msgid "Short name"
 msgstr "Kurzname"
 
-#: models.py:26 models.py:178
+#: models.py:27 models.py:198
 msgid "Name"
 msgstr "Name"
 
-#: models.py:54 models.py:106
+#: models.py:55 models.py:126
 msgid "Year"
 msgstr "Jahr"
 
-#: models.py:86
+#: models.py:106
 msgid "Personal note"
 msgstr "Persönliche Notiz"
 
-#: models.py:87 templates/alsijil/class_register/lesson.html:64
+#: models.py:107 templates/alsijil/class_register/lesson.html:64
 #: templates/alsijil/class_register/lesson.html:156
 #: templates/alsijil/class_register/week_view.html:112
 msgid "Personal notes"
 msgstr "Persönliche Notizen"
 
-#: models.py:112 templates/alsijil/class_register/week_view.html:64
+#: models.py:132 templates/alsijil/class_register/week_view.html:64
 #: templates/alsijil/print/full_register.html:371
 msgid "Lesson topic"
 msgstr "Stundenthema"
 
-#: models.py:113 templates/alsijil/print/full_register.html:372
+#: models.py:133 templates/alsijil/print/full_register.html:372
 msgid "Homework"
 msgstr "Hausaufgaben"
 
-#: models.py:115
+#: models.py:135
 msgid "Group note"
 msgstr "Gruppennotiz"
 
-#: models.py:158 templates/alsijil/class_register/lesson.html:60
+#: models.py:178 templates/alsijil/class_register/lesson.html:60
 #: templates/alsijil/class_register/lesson.html:143
 msgid "Lesson documentation"
 msgstr "Stunden-Dokumentation"
 
-#: models.py:159
+#: models.py:179
 msgid "Lesson documentations"
 msgstr "Stunden-Dokumentationen"
 
-#: models.py:189
+#: models.py:209
 msgid "Extra mark"
 msgstr "Zusätzliche Markierung"
 
@@ -184,21 +190,15 @@ msgstr "Daten von der ersten Stunde zu weiteren folgenden Stunden übernehmen"
 
 #: preferences.py:28
 msgid "This will carry over data only if the data in the following periods are empty."
-msgstr ""
-"Dies wird die Daten nur übernehmen, wenn die Daten in den Folgestunden leer "
-"sind."
+msgstr "Dies wird die Daten nur übernehmen, wenn die Daten in den Folgestunden leer sind."
 
 #: preferences.py:38
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
-msgstr ""
-"Erlaube Lehrkräften, Unterrichtsstunden bereits am gleichen Tag und nicht "
-"erst zu Beginn der Stunde zu öffnen"
+msgstr "Erlaube Lehrkräften, Unterrichtsstunden bereits am gleichen Tag und nicht erst zu Beginn der Stunde zu öffnen"
 
 #: preferences.py:41
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
-msgstr ""
-"Unterrichtsstunden in der Vergangenheit werden nicht durch diese Einstellung "
-"beeinflusst, sie können immer geöffnet werden."
+msgstr "Unterrichtsstunden in der Vergangenheit werden nicht durch diese Einstellung beeinflusst, sie können immer geöffnet werden."
 
 #: tables.py:16 tables.py:36
 msgid "Edit"
@@ -208,6 +208,12 @@ msgstr "Bearbeiten"
 msgid "Delete"
 msgstr "Löschen"
 
+#: templates/alsijil/class_register/groups.html:20
+#, fuzzy
+#| msgid "No students available."
+msgid "No groups available."
+msgstr "Keine Schüler*innen verfügbar."
+
 #: templates/alsijil/class_register/lesson.html:6
 msgid "Lesson"
 msgstr "Unterrichtsstunde"
@@ -256,7 +262,7 @@ msgid "Late persons:"
 msgstr "Verspätete Personen:"
 
 #: templates/alsijil/class_register/lesson.html:165
-#: templates/alsijil/class_register/person.html:78
+#: templates/alsijil/class_register/person.html:86
 #: templates/alsijil/print/full_register.html:287
 msgid "Tardiness"
 msgstr "Verspätung"
@@ -285,52 +291,61 @@ msgid "Unexcused absences"
 msgstr "Unentschuldigte Fehlzeiten"
 
 #: templates/alsijil/class_register/person.html:27
-#: templates/alsijil/class_register/person.html:40
-#: templates/alsijil/class_register/person.html:152
-#: templates/alsijil/class_register/person.html:190
+#: templates/alsijil/class_register/person.html:44
+#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:202
 msgid "Mark as"
 msgstr "Markiere als"
 
+#: templates/alsijil/class_register/person.html:30
 #: templates/alsijil/class_register/person.html:47
+#: templates/alsijil/class_register/person.html:163
+#: templates/alsijil/class_register/person.html:205
+#, fuzzy
+#| msgid "Delete filter"
+msgid "Delete note"
+msgstr "Filter löschen"
+
+#: templates/alsijil/class_register/person.html:55
 msgid "There are unexcused lessons."
 msgstr "Es gibt keine unentschuldigten Unterrichtsstunden."
 
-#: templates/alsijil/class_register/person.html:51
+#: templates/alsijil/class_register/person.html:59
 msgid "Statistics on absences, tardiness and remarks"
 msgstr "Statistiken zu Fehlzeiten, Verspätungen und Bemerkungen"
 
-#: templates/alsijil/class_register/person.html:60
+#: templates/alsijil/class_register/person.html:68
 #: templates/alsijil/print/full_register.html:269
 msgid "Absences"
 msgstr "Fehlstunden"
 
-#: templates/alsijil/class_register/person.html:64
+#: templates/alsijil/class_register/person.html:72
 #: templates/alsijil/print/full_register.html:274
 msgid "thereof"
 msgstr "davon"
 
-#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:82
 #: templates/alsijil/print/full_register.html:81
 #: templates/alsijil/print/full_register.html:283
 msgid "Unexcused"
 msgstr "Unentschuldigt"
 
-#: templates/alsijil/class_register/person.html:94
+#: templates/alsijil/class_register/person.html:102
 #: templates/alsijil/print/full_register.html:304
 msgid "Relevant personal notes"
 msgstr "Relevante persönliche Notizen"
 
-#: templates/alsijil/class_register/person.html:110
+#: templates/alsijil/class_register/person.html:118
 #, python-format
 msgid "Week %(week)s"
 msgstr "Woche %(week)s"
 
-#: templates/alsijil/class_register/person.html:118
-#: templates/alsijil/class_register/person.html:127
+#: templates/alsijil/class_register/person.html:126
+#: templates/alsijil/class_register/person.html:135
 msgid "Mark all as"
 msgstr "Alle als markieren"
 
-#: templates/alsijil/class_register/person.html:175
+#: templates/alsijil/class_register/person.html:187
 #, python-format
 msgid "%(late)s' late"
 msgstr "%(late)s' verspätet"
@@ -644,61 +659,67 @@ msgstr "Unterrichtsdokumentation für Woche"
 msgid "Notes"
 msgstr "Notizen"
 
-#: views.py:76
+#: views.py:78
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 "Sie haben eine ungültige Stunde ausgewählt oder es\n"
 "      läuft momentan keine Stunde."
 
-#: views.py:94
+#: views.py:96
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr "Ihnen ist es nicht erlaubt, eine Eintragung für eine Unterrichtsstunde in der Zukunft vorzunehmen."
 
-#: views.py:120
+#: views.py:122
 msgid "The lesson documentation has been saved."
 msgstr "Die Stunden-Dokumentation wurde gespeichert."
 
-#: views.py:140
+#: views.py:143
 msgid "The personal notes have been saved."
 msgstr "Die persönlichen Notizen wurden gespeichert."
 
-#: views.py:348
+#: views.py:351
 msgid "There is no current school term."
 msgstr "Es gibt aktuell kein Schuljahr."
 
-#: views.py:513
+#: views.py:532
 msgid "The absences have been marked as excused."
 msgstr "Die Fehlzeiten wurden als entschuldigt markiert."
 
-#: views.py:528
+#: views.py:548
 msgid "The absence has been marked as excused."
 msgstr "Die Fehlzeit wurde als entschuldigt markiert."
 
-#: views.py:633
+#: views.py:653
 msgid "The absence has been saved."
 msgstr "Die Abwesenheit wurde gespeichert."
 
-#: views.py:658
+#: views.py:670
+#, fuzzy
+#| msgid "The personal notes have been saved."
+msgid "The personal note has been deleted."
+msgstr "Die persönlichen Notizen wurden gespeichert."
+
+#: views.py:691
 msgid "The extra mark has been created."
 msgstr "Die zusätzliche Markierung wurde erstellt."
 
-#: views.py:669
+#: views.py:702
 msgid "The extra mark has been saved."
 msgstr "Die zusätzliche Markierung wurde gespeichert."
 
-#: views.py:679
+#: views.py:712
 msgid "The extra mark has been deleted."
 msgstr "Die zusätzliche Markierung wurde gelöscht."
 
-#: views.py:699
+#: views.py:732
 msgid "The excuse type has been created."
 msgstr "Die Entschuldigungsart wurde erstellt."
 
-#: views.py:710
+#: views.py:743
 msgid "The excuse type has been saved."
 msgstr "Die Entschuldigunsart wurde gespeichert."
 
-#: views.py:720
+#: views.py:753
 msgid "The excuse type has been deleted."
 msgstr "Die Entschuldigungsart wurde gelöscht."
 
@@ -732,9 +753,6 @@ msgstr "Die Entschuldigungsart wurde gelöscht."
 #~ msgid "Create personal note filter"
 #~ msgstr "Filter für persönliche Notizen erstellen"
 
-#~ msgid "Delete filter"
-#~ msgstr "Filter löschen"
-
 #~ msgid "Count"
 #~ msgstr "Anzahl"
 
diff --git a/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po
index e57fbb5be435d7f2314b7b59a19db38ee8a84f58..c22380a600c010febaa1b6f6cac52a86a11e97b1 100644
--- a/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-21 12:39+0200\n"
+"POT-Creation-Date: 2020-09-11 11:08+0200\n"
 "PO-Revision-Date: 2020-07-26 14:08+0000\n"
 "Last-Translator: Marlene Grundey <grundema@katharineum.de>\n"
 "Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/fr/>\n"
@@ -60,7 +60,7 @@ msgid "Person"
 msgstr "Personne"
 
 #: forms.py:107 templates/alsijil/class_register/lesson.html:164
-#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:172
 #: templates/alsijil/class_register/week_view.html:119
 #: templates/alsijil/print/full_register.html:75
 #: templates/alsijil/print/full_register.html:312
@@ -68,8 +68,8 @@ msgid "Absent"
 msgstr "Absent(e)"
 
 #: forms.py:108 templates/alsijil/class_register/lesson.html:166
-#: templates/alsijil/class_register/person.html:66
-#: templates/alsijil/class_register/person.html:168
+#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:180
 #: templates/alsijil/partials/mark_as_buttons.html:2
 #: templates/alsijil/partials/mark_as_buttons.html:3
 #: templates/alsijil/print/full_register.html:84
@@ -77,7 +77,7 @@ msgstr "Absent(e)"
 msgid "Excused"
 msgstr "Excusé"
 
-#: forms.py:110 models.py:37 models.py:68
+#: forms.py:110 models.py:38 models.py:69
 #: templates/alsijil/class_register/lesson.html:167
 #: templates/alsijil/class_register/lesson.html:202
 #, fuzzy
@@ -104,30 +104,37 @@ msgstr "Lecon actuelle"
 msgid "Current week"
 msgstr "Semaine actuelle"
 
-#: menus.py:28
+#: menus.py:28 templates/alsijil/class_register/groups.html:5
+#: templates/alsijil/class_register/groups.html:9
+#, fuzzy
+#| msgid "Group"
+msgid "My groups"
+msgstr "Groupe"
+
+#: menus.py:34
 #, fuzzy
 #| msgid "Personal overview"
 msgid "My overview"
 msgstr "Vue d'ensemble personnelle"
 
-#: menus.py:34 templates/alsijil/class_register/persons.html:7
+#: menus.py:40 templates/alsijil/class_register/persons.html:7
 #: templates/alsijil/class_register/persons.html:11
 msgid "My students"
 msgstr ""
 
-#: menus.py:40 templates/alsijil/absences/register.html:5
+#: menus.py:46 templates/alsijil/absences/register.html:5
 #: templates/alsijil/absences/register.html:6
 msgid "Register absence"
 msgstr "Registre de Absence"
 
-#: menus.py:46 models.py:38 templates/alsijil/excuse_type/list.html:8
+#: menus.py:52 models.py:39 templates/alsijil/excuse_type/list.html:8
 #: templates/alsijil/excuse_type/list.html:9
 #, fuzzy
 #| msgid "Excused"
 msgid "Excuse types"
 msgstr "Excusé"
 
-#: menus.py:52 models.py:74 models.py:190
+#: menus.py:58 models.py:75 models.py:210
 #: templates/alsijil/class_register/lesson.html:168
 #: templates/alsijil/extra_mark/list.html:8
 #: templates/alsijil/extra_mark/list.html:9
@@ -135,59 +142,59 @@ msgstr "Excusé"
 msgid "Extra marks"
 msgstr ""
 
-#: models.py:24 models.py:176
+#: models.py:25 models.py:196
 #, fuzzy
 #| msgid "First name"
 msgid "Short name"
 msgstr "Prénom"
 
-#: models.py:26 models.py:178
+#: models.py:27 models.py:198
 msgid "Name"
 msgstr ""
 
-#: models.py:54 models.py:106
+#: models.py:55 models.py:126
 msgid "Year"
 msgstr ""
 
-#: models.py:86
+#: models.py:106
 #, fuzzy
 #| msgid "Personal notes"
 msgid "Personal note"
 msgstr "Notes personnelles"
 
-#: models.py:87 templates/alsijil/class_register/lesson.html:64
+#: models.py:107 templates/alsijil/class_register/lesson.html:64
 #: templates/alsijil/class_register/lesson.html:156
 #: templates/alsijil/class_register/week_view.html:112
 msgid "Personal notes"
 msgstr "Notes personnelles"
 
-#: models.py:112 templates/alsijil/class_register/week_view.html:64
+#: models.py:132 templates/alsijil/class_register/week_view.html:64
 #: templates/alsijil/print/full_register.html:371
 msgid "Lesson topic"
 msgstr "Sujet de cours"
 
-#: models.py:113 templates/alsijil/print/full_register.html:372
+#: models.py:133 templates/alsijil/print/full_register.html:372
 msgid "Homework"
 msgstr "Devoirs"
 
-#: models.py:115
+#: models.py:135
 #, fuzzy
 #| msgid "Group"
 msgid "Group note"
 msgstr "Groupe"
 
-#: models.py:158 templates/alsijil/class_register/lesson.html:60
+#: models.py:178 templates/alsijil/class_register/lesson.html:60
 #: templates/alsijil/class_register/lesson.html:143
 msgid "Lesson documentation"
 msgstr "Documentation de cours"
 
-#: models.py:159
+#: models.py:179
 #, fuzzy
 #| msgid "Lesson documentation"
 msgid "Lesson documentations"
 msgstr "Documentation de cours"
 
-#: models.py:189
+#: models.py:209
 msgid "Extra mark"
 msgstr ""
 
@@ -219,6 +226,10 @@ msgstr ""
 msgid "Delete"
 msgstr ""
 
+#: templates/alsijil/class_register/groups.html:20
+msgid "No groups available."
+msgstr ""
+
 #: templates/alsijil/class_register/lesson.html:6
 msgid "Lesson"
 msgstr "Cours"
@@ -274,7 +285,7 @@ msgid "Late persons:"
 msgstr ""
 
 #: templates/alsijil/class_register/lesson.html:165
-#: templates/alsijil/class_register/person.html:78
+#: templates/alsijil/class_register/person.html:86
 #: templates/alsijil/print/full_register.html:287
 msgid "Tardiness"
 msgstr "Retard"
@@ -306,52 +317,59 @@ msgid "Unexcused absences"
 msgstr "injustifié(e)"
 
 #: templates/alsijil/class_register/person.html:27
-#: templates/alsijil/class_register/person.html:40
-#: templates/alsijil/class_register/person.html:152
-#: templates/alsijil/class_register/person.html:190
+#: templates/alsijil/class_register/person.html:44
+#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:202
 msgid "Mark as"
 msgstr ""
 
+#: templates/alsijil/class_register/person.html:30
 #: templates/alsijil/class_register/person.html:47
+#: templates/alsijil/class_register/person.html:163
+#: templates/alsijil/class_register/person.html:205
+msgid "Delete note"
+msgstr ""
+
+#: templates/alsijil/class_register/person.html:55
 msgid "There are unexcused lessons."
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:51
+#: templates/alsijil/class_register/person.html:59
 msgid "Statistics on absences, tardiness and remarks"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:60
+#: templates/alsijil/class_register/person.html:68
 #: templates/alsijil/print/full_register.html:269
 msgid "Absences"
 msgstr "Absences"
 
-#: templates/alsijil/class_register/person.html:64
+#: templates/alsijil/class_register/person.html:72
 #: templates/alsijil/print/full_register.html:274
 msgid "thereof"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:82
 #: templates/alsijil/print/full_register.html:81
 #: templates/alsijil/print/full_register.html:283
 msgid "Unexcused"
 msgstr "injustifié(e)"
 
-#: templates/alsijil/class_register/person.html:94
+#: templates/alsijil/class_register/person.html:102
 #: templates/alsijil/print/full_register.html:304
 msgid "Relevant personal notes"
 msgstr "Notes personnelles importantes"
 
-#: templates/alsijil/class_register/person.html:110
+#: templates/alsijil/class_register/person.html:118
 #, python-format
 msgid "Week %(week)s"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:118
-#: templates/alsijil/class_register/person.html:127
+#: templates/alsijil/class_register/person.html:126
+#: templates/alsijil/class_register/person.html:135
 msgid "Mark all as"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:175
+#: templates/alsijil/class_register/person.html:187
 #, python-format
 msgid "%(late)s' late"
 msgstr ""
@@ -661,65 +679,71 @@ msgstr "Documentation de cours pour la semaine calendrier"
 msgid "Notes"
 msgstr "Notes"
 
-#: views.py:76
+#: views.py:78
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: views.py:94
+#: views.py:96
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: views.py:120
+#: views.py:122
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The lesson documentation has been saved."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: views.py:140
+#: views.py:143
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: views.py:348
+#: views.py:351
 msgid "There is no current school term."
 msgstr ""
 
-#: views.py:513
+#: views.py:532
 msgid "The absences have been marked as excused."
 msgstr ""
 
-#: views.py:528
+#: views.py:548
 msgid "The absence has been marked as excused."
 msgstr ""
 
-#: views.py:633
+#: views.py:653
 msgid "The absence has been saved."
 msgstr ""
 
-#: views.py:658
+#: views.py:670
+#, fuzzy
+#| msgid "Lesson documentation for calendar week"
+msgid "The personal note has been deleted."
+msgstr "Documentation de cours pour la semaine calendrier"
+
+#: views.py:691
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The extra mark has been created."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: views.py:669
+#: views.py:702
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The extra mark has been saved."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: views.py:679
+#: views.py:712
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: views.py:699
+#: views.py:732
 msgid "The excuse type has been created."
 msgstr ""
 
-#: views.py:710
+#: views.py:743
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: views.py:720
+#: views.py:753
 msgid "The excuse type has been deleted."
 msgstr ""
 
diff --git a/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po
index 262dab826763950f3858b4a77d6155c9e522c2b1..1af7f285f3def24ce0135bcd7f3e37c562d8bb46 100644
--- a/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-21 12:39+0200\n"
+"POT-Creation-Date: 2020-09-11 11:08+0200\n"
 "PO-Revision-Date: 2020-07-26 14:08+0000\n"
 "Last-Translator: Julian <leuckerj@gmail.com>\n"
 "Language-Team: Latin <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/la/>\n"
@@ -56,7 +56,7 @@ msgid "Person"
 msgstr "Persona"
 
 #: forms.py:107 templates/alsijil/class_register/lesson.html:164
-#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:172
 #: templates/alsijil/class_register/week_view.html:119
 #: templates/alsijil/print/full_register.html:75
 #: templates/alsijil/print/full_register.html:312
@@ -64,8 +64,8 @@ msgid "Absent"
 msgstr ""
 
 #: forms.py:108 templates/alsijil/class_register/lesson.html:166
-#: templates/alsijil/class_register/person.html:66
-#: templates/alsijil/class_register/person.html:168
+#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:180
 #: templates/alsijil/partials/mark_as_buttons.html:2
 #: templates/alsijil/partials/mark_as_buttons.html:3
 #: templates/alsijil/print/full_register.html:84
@@ -73,7 +73,7 @@ msgstr ""
 msgid "Excused"
 msgstr ""
 
-#: forms.py:110 models.py:37 models.py:68
+#: forms.py:110 models.py:38 models.py:69
 #: templates/alsijil/class_register/lesson.html:167
 #: templates/alsijil/class_register/lesson.html:202
 msgid "Excuse type"
@@ -98,26 +98,33 @@ msgstr ""
 msgid "Current week"
 msgstr ""
 
-#: menus.py:28
+#: menus.py:28 templates/alsijil/class_register/groups.html:5
+#: templates/alsijil/class_register/groups.html:9
+#, fuzzy
+#| msgid "Group"
+msgid "My groups"
+msgstr "Grex"
+
+#: menus.py:34
 msgid "My overview"
 msgstr ""
 
-#: menus.py:34 templates/alsijil/class_register/persons.html:7
+#: menus.py:40 templates/alsijil/class_register/persons.html:7
 #: templates/alsijil/class_register/persons.html:11
 msgid "My students"
 msgstr ""
 
-#: menus.py:40 templates/alsijil/absences/register.html:5
+#: menus.py:46 templates/alsijil/absences/register.html:5
 #: templates/alsijil/absences/register.html:6
 msgid "Register absence"
 msgstr ""
 
-#: menus.py:46 models.py:38 templates/alsijil/excuse_type/list.html:8
+#: menus.py:52 models.py:39 templates/alsijil/excuse_type/list.html:8
 #: templates/alsijil/excuse_type/list.html:9
 msgid "Excuse types"
 msgstr ""
 
-#: menus.py:52 models.py:74 models.py:190
+#: menus.py:58 models.py:75 models.py:210
 #: templates/alsijil/class_register/lesson.html:168
 #: templates/alsijil/extra_mark/list.html:8
 #: templates/alsijil/extra_mark/list.html:9
@@ -125,57 +132,57 @@ msgstr ""
 msgid "Extra marks"
 msgstr ""
 
-#: models.py:24 models.py:176
+#: models.py:25 models.py:196
 #, fuzzy
 #| msgid "First name"
 msgid "Short name"
 msgstr "Primus nomen"
 
-#: models.py:26 models.py:178
+#: models.py:27 models.py:198
 msgid "Name"
 msgstr ""
 
-#: models.py:54 models.py:106
+#: models.py:55 models.py:126
 msgid "Year"
 msgstr ""
 
-#: models.py:86
+#: models.py:106
 #, fuzzy
 #| msgid "Person"
 msgid "Personal note"
 msgstr "Persona"
 
-#: models.py:87 templates/alsijil/class_register/lesson.html:64
+#: models.py:107 templates/alsijil/class_register/lesson.html:64
 #: templates/alsijil/class_register/lesson.html:156
 #: templates/alsijil/class_register/week_view.html:112
 msgid "Personal notes"
 msgstr ""
 
-#: models.py:112 templates/alsijil/class_register/week_view.html:64
+#: models.py:132 templates/alsijil/class_register/week_view.html:64
 #: templates/alsijil/print/full_register.html:371
 msgid "Lesson topic"
 msgstr ""
 
-#: models.py:113 templates/alsijil/print/full_register.html:372
+#: models.py:133 templates/alsijil/print/full_register.html:372
 msgid "Homework"
 msgstr ""
 
-#: models.py:115
+#: models.py:135
 #, fuzzy
 #| msgid "Group"
 msgid "Group note"
 msgstr "Grex"
 
-#: models.py:158 templates/alsijil/class_register/lesson.html:60
+#: models.py:178 templates/alsijil/class_register/lesson.html:60
 #: templates/alsijil/class_register/lesson.html:143
 msgid "Lesson documentation"
 msgstr ""
 
-#: models.py:159
+#: models.py:179
 msgid "Lesson documentations"
 msgstr ""
 
-#: models.py:189
+#: models.py:209
 msgid "Extra mark"
 msgstr ""
 
@@ -207,6 +214,10 @@ msgstr ""
 msgid "Delete"
 msgstr ""
 
+#: templates/alsijil/class_register/groups.html:20
+msgid "No groups available."
+msgstr ""
+
 #: templates/alsijil/class_register/lesson.html:6
 msgid "Lesson"
 msgstr ""
@@ -255,7 +266,7 @@ msgid "Late persons:"
 msgstr ""
 
 #: templates/alsijil/class_register/lesson.html:165
-#: templates/alsijil/class_register/person.html:78
+#: templates/alsijil/class_register/person.html:86
 #: templates/alsijil/print/full_register.html:287
 msgid "Tardiness"
 msgstr ""
@@ -281,52 +292,59 @@ msgid "Unexcused absences"
 msgstr ""
 
 #: templates/alsijil/class_register/person.html:27
-#: templates/alsijil/class_register/person.html:40
-#: templates/alsijil/class_register/person.html:152
-#: templates/alsijil/class_register/person.html:190
+#: templates/alsijil/class_register/person.html:44
+#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:202
 msgid "Mark as"
 msgstr ""
 
+#: templates/alsijil/class_register/person.html:30
 #: templates/alsijil/class_register/person.html:47
+#: templates/alsijil/class_register/person.html:163
+#: templates/alsijil/class_register/person.html:205
+msgid "Delete note"
+msgstr ""
+
+#: templates/alsijil/class_register/person.html:55
 msgid "There are unexcused lessons."
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:51
+#: templates/alsijil/class_register/person.html:59
 msgid "Statistics on absences, tardiness and remarks"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:60
+#: templates/alsijil/class_register/person.html:68
 #: templates/alsijil/print/full_register.html:269
 msgid "Absences"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:64
+#: templates/alsijil/class_register/person.html:72
 #: templates/alsijil/print/full_register.html:274
 msgid "thereof"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:82
 #: templates/alsijil/print/full_register.html:81
 #: templates/alsijil/print/full_register.html:283
 msgid "Unexcused"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:94
+#: templates/alsijil/class_register/person.html:102
 #: templates/alsijil/print/full_register.html:304
 msgid "Relevant personal notes"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:110
+#: templates/alsijil/class_register/person.html:118
 #, python-format
 msgid "Week %(week)s"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:118
-#: templates/alsijil/class_register/person.html:127
+#: templates/alsijil/class_register/person.html:126
+#: templates/alsijil/class_register/person.html:135
 msgid "Mark all as"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:175
+#: templates/alsijil/class_register/person.html:187
 #, python-format
 msgid "%(late)s' late"
 msgstr ""
@@ -622,59 +640,63 @@ msgstr ""
 msgid "Notes"
 msgstr ""
 
-#: views.py:76
+#: views.py:78
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: views.py:94
+#: views.py:96
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: views.py:120
+#: views.py:122
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: views.py:140
+#: views.py:143
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: views.py:348
+#: views.py:351
 msgid "There is no current school term."
 msgstr ""
 
-#: views.py:513
+#: views.py:532
 msgid "The absences have been marked as excused."
 msgstr ""
 
-#: views.py:528
+#: views.py:548
 msgid "The absence has been marked as excused."
 msgstr ""
 
-#: views.py:633
+#: views.py:653
 msgid "The absence has been saved."
 msgstr ""
 
-#: views.py:658
+#: views.py:670
+msgid "The personal note has been deleted."
+msgstr ""
+
+#: views.py:691
 msgid "The extra mark has been created."
 msgstr ""
 
-#: views.py:669
+#: views.py:702
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: views.py:679
+#: views.py:712
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: views.py:699
+#: views.py:732
 msgid "The excuse type has been created."
 msgstr ""
 
-#: views.py:710
+#: views.py:743
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: views.py:720
+#: views.py:753
 msgid "The excuse type has been deleted."
 msgstr ""
 
diff --git a/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po
index 105dd88031136bf3fed0ce9bb722183c10264c44..ae7cc207f15c81a12de3725d3b9587d776269cd0 100644
--- a/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/nb_NO/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-21 12:39+0200\n"
+"POT-Creation-Date: 2020-09-11 11:08+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -55,7 +55,7 @@ msgid "Person"
 msgstr ""
 
 #: forms.py:107 templates/alsijil/class_register/lesson.html:164
-#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:172
 #: templates/alsijil/class_register/week_view.html:119
 #: templates/alsijil/print/full_register.html:75
 #: templates/alsijil/print/full_register.html:312
@@ -63,8 +63,8 @@ msgid "Absent"
 msgstr ""
 
 #: forms.py:108 templates/alsijil/class_register/lesson.html:166
-#: templates/alsijil/class_register/person.html:66
-#: templates/alsijil/class_register/person.html:168
+#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:180
 #: templates/alsijil/partials/mark_as_buttons.html:2
 #: templates/alsijil/partials/mark_as_buttons.html:3
 #: templates/alsijil/print/full_register.html:84
@@ -72,7 +72,7 @@ msgstr ""
 msgid "Excused"
 msgstr ""
 
-#: forms.py:110 models.py:37 models.py:68
+#: forms.py:110 models.py:38 models.py:69
 #: templates/alsijil/class_register/lesson.html:167
 #: templates/alsijil/class_register/lesson.html:202
 msgid "Excuse type"
@@ -97,26 +97,31 @@ msgstr ""
 msgid "Current week"
 msgstr ""
 
-#: menus.py:28
+#: menus.py:28 templates/alsijil/class_register/groups.html:5
+#: templates/alsijil/class_register/groups.html:9
+msgid "My groups"
+msgstr ""
+
+#: menus.py:34
 msgid "My overview"
 msgstr ""
 
-#: menus.py:34 templates/alsijil/class_register/persons.html:7
+#: menus.py:40 templates/alsijil/class_register/persons.html:7
 #: templates/alsijil/class_register/persons.html:11
 msgid "My students"
 msgstr ""
 
-#: menus.py:40 templates/alsijil/absences/register.html:5
+#: menus.py:46 templates/alsijil/absences/register.html:5
 #: templates/alsijil/absences/register.html:6
 msgid "Register absence"
 msgstr ""
 
-#: menus.py:46 models.py:38 templates/alsijil/excuse_type/list.html:8
+#: menus.py:52 models.py:39 templates/alsijil/excuse_type/list.html:8
 #: templates/alsijil/excuse_type/list.html:9
 msgid "Excuse types"
 msgstr ""
 
-#: menus.py:52 models.py:74 models.py:190
+#: menus.py:58 models.py:75 models.py:210
 #: templates/alsijil/class_register/lesson.html:168
 #: templates/alsijil/extra_mark/list.html:8
 #: templates/alsijil/extra_mark/list.html:9
@@ -124,51 +129,51 @@ msgstr ""
 msgid "Extra marks"
 msgstr ""
 
-#: models.py:24 models.py:176
+#: models.py:25 models.py:196
 msgid "Short name"
 msgstr ""
 
-#: models.py:26 models.py:178
+#: models.py:27 models.py:198
 msgid "Name"
 msgstr ""
 
-#: models.py:54 models.py:106
+#: models.py:55 models.py:126
 msgid "Year"
 msgstr ""
 
-#: models.py:86
+#: models.py:106
 msgid "Personal note"
 msgstr ""
 
-#: models.py:87 templates/alsijil/class_register/lesson.html:64
+#: models.py:107 templates/alsijil/class_register/lesson.html:64
 #: templates/alsijil/class_register/lesson.html:156
 #: templates/alsijil/class_register/week_view.html:112
 msgid "Personal notes"
 msgstr ""
 
-#: models.py:112 templates/alsijil/class_register/week_view.html:64
+#: models.py:132 templates/alsijil/class_register/week_view.html:64
 #: templates/alsijil/print/full_register.html:371
 msgid "Lesson topic"
 msgstr ""
 
-#: models.py:113 templates/alsijil/print/full_register.html:372
+#: models.py:133 templates/alsijil/print/full_register.html:372
 msgid "Homework"
 msgstr ""
 
-#: models.py:115
+#: models.py:135
 msgid "Group note"
 msgstr ""
 
-#: models.py:158 templates/alsijil/class_register/lesson.html:60
+#: models.py:178 templates/alsijil/class_register/lesson.html:60
 #: templates/alsijil/class_register/lesson.html:143
 msgid "Lesson documentation"
 msgstr ""
 
-#: models.py:159
+#: models.py:179
 msgid "Lesson documentations"
 msgstr ""
 
-#: models.py:189
+#: models.py:209
 msgid "Extra mark"
 msgstr ""
 
@@ -200,6 +205,10 @@ msgstr ""
 msgid "Delete"
 msgstr ""
 
+#: templates/alsijil/class_register/groups.html:20
+msgid "No groups available."
+msgstr ""
+
 #: templates/alsijil/class_register/lesson.html:6
 msgid "Lesson"
 msgstr ""
@@ -248,7 +257,7 @@ msgid "Late persons:"
 msgstr ""
 
 #: templates/alsijil/class_register/lesson.html:165
-#: templates/alsijil/class_register/person.html:78
+#: templates/alsijil/class_register/person.html:86
 #: templates/alsijil/print/full_register.html:287
 msgid "Tardiness"
 msgstr ""
@@ -274,52 +283,59 @@ msgid "Unexcused absences"
 msgstr ""
 
 #: templates/alsijil/class_register/person.html:27
-#: templates/alsijil/class_register/person.html:40
-#: templates/alsijil/class_register/person.html:152
-#: templates/alsijil/class_register/person.html:190
+#: templates/alsijil/class_register/person.html:44
+#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:202
 msgid "Mark as"
 msgstr ""
 
+#: templates/alsijil/class_register/person.html:30
 #: templates/alsijil/class_register/person.html:47
+#: templates/alsijil/class_register/person.html:163
+#: templates/alsijil/class_register/person.html:205
+msgid "Delete note"
+msgstr ""
+
+#: templates/alsijil/class_register/person.html:55
 msgid "There are unexcused lessons."
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:51
+#: templates/alsijil/class_register/person.html:59
 msgid "Statistics on absences, tardiness and remarks"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:60
+#: templates/alsijil/class_register/person.html:68
 #: templates/alsijil/print/full_register.html:269
 msgid "Absences"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:64
+#: templates/alsijil/class_register/person.html:72
 #: templates/alsijil/print/full_register.html:274
 msgid "thereof"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:82
 #: templates/alsijil/print/full_register.html:81
 #: templates/alsijil/print/full_register.html:283
 msgid "Unexcused"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:94
+#: templates/alsijil/class_register/person.html:102
 #: templates/alsijil/print/full_register.html:304
 msgid "Relevant personal notes"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:110
+#: templates/alsijil/class_register/person.html:118
 #, python-format
 msgid "Week %(week)s"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:118
-#: templates/alsijil/class_register/person.html:127
+#: templates/alsijil/class_register/person.html:126
+#: templates/alsijil/class_register/person.html:135
 msgid "Mark all as"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:175
+#: templates/alsijil/class_register/person.html:187
 #, python-format
 msgid "%(late)s' late"
 msgstr ""
@@ -613,58 +629,62 @@ msgstr ""
 msgid "Notes"
 msgstr ""
 
-#: views.py:76
+#: views.py:78
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: views.py:94
+#: views.py:96
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: views.py:120
+#: views.py:122
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: views.py:140
+#: views.py:143
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: views.py:348
+#: views.py:351
 msgid "There is no current school term."
 msgstr ""
 
-#: views.py:513
+#: views.py:532
 msgid "The absences have been marked as excused."
 msgstr ""
 
-#: views.py:528
+#: views.py:548
 msgid "The absence has been marked as excused."
 msgstr ""
 
-#: views.py:633
+#: views.py:653
 msgid "The absence has been saved."
 msgstr ""
 
-#: views.py:658
+#: views.py:670
+msgid "The personal note has been deleted."
+msgstr ""
+
+#: views.py:691
 msgid "The extra mark has been created."
 msgstr ""
 
-#: views.py:669
+#: views.py:702
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: views.py:679
+#: views.py:712
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: views.py:699
+#: views.py:732
 msgid "The excuse type has been created."
 msgstr ""
 
-#: views.py:710
+#: views.py:743
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: views.py:720
+#: views.py:753
 msgid "The excuse type has been deleted."
 msgstr ""
diff --git a/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po
index 105dd88031136bf3fed0ce9bb722183c10264c44..ae7cc207f15c81a12de3725d3b9587d776269cd0 100644
--- a/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/tr_TR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-08-21 12:39+0200\n"
+"POT-Creation-Date: 2020-09-11 11:08+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -55,7 +55,7 @@ msgid "Person"
 msgstr ""
 
 #: forms.py:107 templates/alsijil/class_register/lesson.html:164
-#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:172
 #: templates/alsijil/class_register/week_view.html:119
 #: templates/alsijil/print/full_register.html:75
 #: templates/alsijil/print/full_register.html:312
@@ -63,8 +63,8 @@ msgid "Absent"
 msgstr ""
 
 #: forms.py:108 templates/alsijil/class_register/lesson.html:166
-#: templates/alsijil/class_register/person.html:66
-#: templates/alsijil/class_register/person.html:168
+#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:180
 #: templates/alsijil/partials/mark_as_buttons.html:2
 #: templates/alsijil/partials/mark_as_buttons.html:3
 #: templates/alsijil/print/full_register.html:84
@@ -72,7 +72,7 @@ msgstr ""
 msgid "Excused"
 msgstr ""
 
-#: forms.py:110 models.py:37 models.py:68
+#: forms.py:110 models.py:38 models.py:69
 #: templates/alsijil/class_register/lesson.html:167
 #: templates/alsijil/class_register/lesson.html:202
 msgid "Excuse type"
@@ -97,26 +97,31 @@ msgstr ""
 msgid "Current week"
 msgstr ""
 
-#: menus.py:28
+#: menus.py:28 templates/alsijil/class_register/groups.html:5
+#: templates/alsijil/class_register/groups.html:9
+msgid "My groups"
+msgstr ""
+
+#: menus.py:34
 msgid "My overview"
 msgstr ""
 
-#: menus.py:34 templates/alsijil/class_register/persons.html:7
+#: menus.py:40 templates/alsijil/class_register/persons.html:7
 #: templates/alsijil/class_register/persons.html:11
 msgid "My students"
 msgstr ""
 
-#: menus.py:40 templates/alsijil/absences/register.html:5
+#: menus.py:46 templates/alsijil/absences/register.html:5
 #: templates/alsijil/absences/register.html:6
 msgid "Register absence"
 msgstr ""
 
-#: menus.py:46 models.py:38 templates/alsijil/excuse_type/list.html:8
+#: menus.py:52 models.py:39 templates/alsijil/excuse_type/list.html:8
 #: templates/alsijil/excuse_type/list.html:9
 msgid "Excuse types"
 msgstr ""
 
-#: menus.py:52 models.py:74 models.py:190
+#: menus.py:58 models.py:75 models.py:210
 #: templates/alsijil/class_register/lesson.html:168
 #: templates/alsijil/extra_mark/list.html:8
 #: templates/alsijil/extra_mark/list.html:9
@@ -124,51 +129,51 @@ msgstr ""
 msgid "Extra marks"
 msgstr ""
 
-#: models.py:24 models.py:176
+#: models.py:25 models.py:196
 msgid "Short name"
 msgstr ""
 
-#: models.py:26 models.py:178
+#: models.py:27 models.py:198
 msgid "Name"
 msgstr ""
 
-#: models.py:54 models.py:106
+#: models.py:55 models.py:126
 msgid "Year"
 msgstr ""
 
-#: models.py:86
+#: models.py:106
 msgid "Personal note"
 msgstr ""
 
-#: models.py:87 templates/alsijil/class_register/lesson.html:64
+#: models.py:107 templates/alsijil/class_register/lesson.html:64
 #: templates/alsijil/class_register/lesson.html:156
 #: templates/alsijil/class_register/week_view.html:112
 msgid "Personal notes"
 msgstr ""
 
-#: models.py:112 templates/alsijil/class_register/week_view.html:64
+#: models.py:132 templates/alsijil/class_register/week_view.html:64
 #: templates/alsijil/print/full_register.html:371
 msgid "Lesson topic"
 msgstr ""
 
-#: models.py:113 templates/alsijil/print/full_register.html:372
+#: models.py:133 templates/alsijil/print/full_register.html:372
 msgid "Homework"
 msgstr ""
 
-#: models.py:115
+#: models.py:135
 msgid "Group note"
 msgstr ""
 
-#: models.py:158 templates/alsijil/class_register/lesson.html:60
+#: models.py:178 templates/alsijil/class_register/lesson.html:60
 #: templates/alsijil/class_register/lesson.html:143
 msgid "Lesson documentation"
 msgstr ""
 
-#: models.py:159
+#: models.py:179
 msgid "Lesson documentations"
 msgstr ""
 
-#: models.py:189
+#: models.py:209
 msgid "Extra mark"
 msgstr ""
 
@@ -200,6 +205,10 @@ msgstr ""
 msgid "Delete"
 msgstr ""
 
+#: templates/alsijil/class_register/groups.html:20
+msgid "No groups available."
+msgstr ""
+
 #: templates/alsijil/class_register/lesson.html:6
 msgid "Lesson"
 msgstr ""
@@ -248,7 +257,7 @@ msgid "Late persons:"
 msgstr ""
 
 #: templates/alsijil/class_register/lesson.html:165
-#: templates/alsijil/class_register/person.html:78
+#: templates/alsijil/class_register/person.html:86
 #: templates/alsijil/print/full_register.html:287
 msgid "Tardiness"
 msgstr ""
@@ -274,52 +283,59 @@ msgid "Unexcused absences"
 msgstr ""
 
 #: templates/alsijil/class_register/person.html:27
-#: templates/alsijil/class_register/person.html:40
-#: templates/alsijil/class_register/person.html:152
-#: templates/alsijil/class_register/person.html:190
+#: templates/alsijil/class_register/person.html:44
+#: templates/alsijil/class_register/person.html:160
+#: templates/alsijil/class_register/person.html:202
 msgid "Mark as"
 msgstr ""
 
+#: templates/alsijil/class_register/person.html:30
 #: templates/alsijil/class_register/person.html:47
+#: templates/alsijil/class_register/person.html:163
+#: templates/alsijil/class_register/person.html:205
+msgid "Delete note"
+msgstr ""
+
+#: templates/alsijil/class_register/person.html:55
 msgid "There are unexcused lessons."
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:51
+#: templates/alsijil/class_register/person.html:59
 msgid "Statistics on absences, tardiness and remarks"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:60
+#: templates/alsijil/class_register/person.html:68
 #: templates/alsijil/print/full_register.html:269
 msgid "Absences"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:64
+#: templates/alsijil/class_register/person.html:72
 #: templates/alsijil/print/full_register.html:274
 msgid "thereof"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:74
+#: templates/alsijil/class_register/person.html:82
 #: templates/alsijil/print/full_register.html:81
 #: templates/alsijil/print/full_register.html:283
 msgid "Unexcused"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:94
+#: templates/alsijil/class_register/person.html:102
 #: templates/alsijil/print/full_register.html:304
 msgid "Relevant personal notes"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:110
+#: templates/alsijil/class_register/person.html:118
 #, python-format
 msgid "Week %(week)s"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:118
-#: templates/alsijil/class_register/person.html:127
+#: templates/alsijil/class_register/person.html:126
+#: templates/alsijil/class_register/person.html:135
 msgid "Mark all as"
 msgstr ""
 
-#: templates/alsijil/class_register/person.html:175
+#: templates/alsijil/class_register/person.html:187
 #, python-format
 msgid "%(late)s' late"
 msgstr ""
@@ -613,58 +629,62 @@ msgstr ""
 msgid "Notes"
 msgstr ""
 
-#: views.py:76
+#: views.py:78
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: views.py:94
+#: views.py:96
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: views.py:120
+#: views.py:122
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: views.py:140
+#: views.py:143
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: views.py:348
+#: views.py:351
 msgid "There is no current school term."
 msgstr ""
 
-#: views.py:513
+#: views.py:532
 msgid "The absences have been marked as excused."
 msgstr ""
 
-#: views.py:528
+#: views.py:548
 msgid "The absence has been marked as excused."
 msgstr ""
 
-#: views.py:633
+#: views.py:653
 msgid "The absence has been saved."
 msgstr ""
 
-#: views.py:658
+#: views.py:670
+msgid "The personal note has been deleted."
+msgstr ""
+
+#: views.py:691
 msgid "The extra mark has been created."
 msgstr ""
 
-#: views.py:669
+#: views.py:702
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: views.py:679
+#: views.py:712
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: views.py:699
+#: views.py:732
 msgid "The excuse type has been created."
 msgstr ""
 
-#: views.py:710
+#: views.py:743
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: views.py:720
+#: views.py:753
 msgid "The excuse type has been deleted."
 msgstr ""
diff --git a/aleksis/apps/alsijil/menus.py b/aleksis/apps/alsijil/menus.py
index 46ca6d023b3a7deff2e10c10dbf49ee7ab0738c1..c7f9a84f8ececff6ee154391380e442b5962ed6c 100644
--- a/aleksis/apps/alsijil/menus.py
+++ b/aleksis/apps/alsijil/menus.py
@@ -34,6 +34,12 @@ MENUS = {
                         ),
                     ],
                 },
+                {
+                    "name": _("My groups"),
+                    "url": "my_groups",
+                    "icon": "people",
+                    "validators": ["menu_generator.validators.is_authenticated"],
+                },
                 {
                     "name": _("My overview"),
                     "url": "overview_me",
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/groups.html b/aleksis/apps/alsijil/templates/alsijil/class_register/groups.html
new file mode 100644
index 0000000000000000000000000000000000000000..87385476b881062b7498a7e2ff35120723bba8bd
--- /dev/null
+++ b/aleksis/apps/alsijil/templates/alsijil/class_register/groups.html
@@ -0,0 +1,24 @@
+{# -*- engine:django -*- #}
+{% extends "core/base.html" %}
+{% load i18n %}
+
+{% block browser_title %}{% blocktrans %}My groups{% endblocktrans %}{% endblock %}
+
+
+{% block page_title %}
+  {% blocktrans %}My groups{% endblocktrans %}
+{% endblock %}
+
+{% block content %}
+  <div class="collection">
+    {% for group in groups %}
+      <a class="collection-item" href="{% url "week_view" "group" group.pk %}">
+        {{ group }}
+      </a>
+    {% empty %}
+      <li class="collection-item flow-text">
+        {% blocktrans %}No groups available.{% endblocktrans %}
+      </li>
+    {% endfor %}
+  </div>
+{% endblock %}
diff --git a/aleksis/apps/alsijil/urls.py b/aleksis/apps/alsijil/urls.py
index e2bba60a0df002ccf4b110ea8ac5f1e22df8387a..af972edd5be09307c83ad550fa2385fe4d088669 100644
--- a/aleksis/apps/alsijil/urls.py
+++ b/aleksis/apps/alsijil/urls.py
@@ -26,6 +26,7 @@ urlpatterns = [
     path(
         "print/group/<int:id_>", views.full_register_group, name="full_register_group"
     ),
+    path("groups/", views.my_groups, name="my_groups"),
     path("persons/", views.my_students, name="my_students"),
     path("persons/<int:id_>/", views.overview_person, name="overview_person"),
     path("me/", views.overview_person, name="overview_me"),
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index f8ce8211857eb8c2616be62fd6ad53bdc0175e9c..e36fc6230ed286f3771e9a215a2229201e35436f 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -485,6 +485,16 @@ def my_students(request: HttpRequest) -> HttpResponse:
     context["persons"] = persons
     return render(request, "alsijil/class_register/persons.html", context)
 
+def my_groups(request: HttpRequest) -> HttpResponse:
+    context = {}
+    groups = (
+        Group.objects.for_current_school_term_or_all()
+        .annotate(lessons_count=Count("lessons"))
+        .filter(lessons_count__gt=0, owners=request.user.person)
+    )
+    context["groups"] = groups
+    return render(request, "alsijil/class_register/groups.html", context)
+
 
 @permission_required(
     "alsijil.view_person_overview",