diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index d05154a9ed55034bbef054f4463e67be35c65c27..9946633ec579818c2f01c31f87ea38988aba9cd3 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -9,9 +9,14 @@ and this project adheres to `Semantic Versioning`_.
 Unreleased
 ----------
 
+`2.1`_ - 2022-06-25
+-------------------
+
 Added
 ~~~~~
 
+* Owners of one of the parent groups of a object can now have the same rights on it
+as a group owner (can be toggled with a preference).
 * Integrate seating plans in lesson overview
 * Add option to set LessonDocumentation data for all lessons in one week at once.
 * Excuse types can now be marked as `Count as absent`, which they are per default. If not, they aren't counted in the overviews.
@@ -21,6 +26,8 @@ Fixed
 ~~~~~
 
 * The week overview page was not refreshed when a new week was selected in the dropdown.
+* Make generation of full register printout faster.
+* Updating a lesson documentation caused an error when the preference for carrying over lesson documentations to the whole week was deactivated.
 
 `2.0.1`_ - 2022-02-12
 ---------------------
@@ -253,3 +260,4 @@ Fixed
 .. _2.0rc7: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.0rc7
 .. _2.0: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.0
 .. _2.0.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.0.1
+.. _2.1: https://edugit.org/AlekSIS/Official/AlekSIS-App-Alsijil/-/tags/2.1
diff --git a/README.rst b/README.rst
index e0063aa4f1170759ab0377f9f51f0ea47a25796a..61e80f73c24aa9077218aa86a2427463f75f1f0f 100644
--- a/README.rst
+++ b/README.rst
@@ -34,9 +34,9 @@ Licence
   Copyright © 2019, 2021 Dominik George <dominik.george@teckids.org>
   Copyright © 2019, 2020 Tom Teichler <tom.teichler@teckids.org>
   Copyright © 2019 mirabilos <thorsten.glaser@teckids.org>
+  Copyright © 2020, 2021, 2022 Jonathan Weth <dev@jonathanweth.de>
   Copyright © 2020, 2021 Julian Leucker <leuckeju@katharineum.de>
-  Copyright © 2020, 2021 Jonathan Weth <dev@jonathanweth.de>
-  Copyright © 2020 Hangzhi Yu <yuha@katharineum.de>
+  Copyright © 2020, 2022 Hangzhi Yu <yuha@katharineum.de>
   Copyright © 2021 Lloyd Meins <meinsll@katharineum.de>
 
 
diff --git a/aleksis/apps/alsijil/apps.py b/aleksis/apps/alsijil/apps.py
index 196c9ee3b80764be90902e95ff11afd31c9d50c0..b523b38afa08c965628afbfbe61327e8b03f7067 100644
--- a/aleksis/apps/alsijil/apps.py
+++ b/aleksis/apps/alsijil/apps.py
@@ -13,8 +13,8 @@ class AlsijilConfig(AppConfig):
         ([2019, 2021], "Dominik George", "dominik.george@teckids.org"),
         ([2019, 2020], "Tom Teichler", "tom.teichler@teckids.org"),
         ([2019], "mirabilos", "thorsten.glaser@teckids.org"),
-        ([2020, 2021], "Jonathan Weth", "dev@jonathanweth.de"),
+        ([2020, 2021, 2022], "Jonathan Weth", "dev@jonathanweth.de"),
         ([2020, 2021], "Julian Leucker", "leuckeju@katharineum.de"),
-        ([2020], "Hangzhi Yu", "yuha@katharineum.de"),
+        ([2020, 2022], "Hangzhi Yu", "yuha@katharineum.de"),
         ([2021], "Lloyd Meins", "meinsll@katharineum.de"),
     )
diff --git a/aleksis/apps/alsijil/forms.py b/aleksis/apps/alsijil/forms.py
index 6f4e65b2022192c3cf5c0a7c4b44cc3e1731919e..f9aced0507b00540890eb58fe3d3ce978fa053d1 100644
--- a/aleksis/apps/alsijil/forms.py
+++ b/aleksis/apps/alsijil/forms.py
@@ -58,7 +58,8 @@ class LessonDocumentationForm(forms.ModelForm):
     def save(self, **kwargs):
         lesson_documentation = super(LessonDocumentationForm, self).save(commit=True)
         if (
-            self.cleaned_data["carry_over_week"]
+            get_site_preferences()["alsijil__allow_carry_over_same_week"]
+            and self.cleaned_data["carry_over_week"]
             and (
                 lesson_documentation.topic
                 or lesson_documentation.homework
@@ -135,13 +136,21 @@ class SelectForm(forms.Form):
         if not check_global_permission(self.request.user, "alsijil.view_week"):
             # 1) All groups the user is allowed to see the week view by object permissions
             # 2) All groups the user is a member of an owner of
+            # 3) If the corresponding preference is turned on:
+            # All groups that have a parent group the user is an owner of
             group_qs = (
                 group_qs.filter(
                     pk__in=get_objects_for_user(
                         self.request.user, "core.view_week_class_register_group", Group
                     ).values_list("pk", flat=True)
                 )
-            ).union(group_qs.filter(Q(members=person) | Q(owners=person)))
+            ).union(
+                group_qs.filter(
+                    Q(members=person) | Q(owners=person) | Q(parent_groups__owners=person)
+                    if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"]
+                    else Q(members=person) | Q(owners=person)
+                )
+            )
 
         # Flatten query by filtering groups by pk
         self.fields["group"].queryset = Group.objects.filter(
@@ -154,9 +163,18 @@ class SelectForm(forms.Form):
 
         # Filter selectable teachers by permissions
         if not check_global_permission(self.request.user, "alsijil.view_week"):
-            # If the user hasn't the global permission,
-            # the user is only allowed to see his own person
-            teacher_qs = teacher_qs.filter(pk=person.pk)
+            # If the user hasn't got the global permission and the inherit privileges preference is
+            # turned off, the user is only allowed to see their own person. Otherwise, the user
+            # is allowed to see all persons that teach lessons that the given groups attend.
+            if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"]:
+                teacher_pks = []
+                for group in group_qs:
+                    for lesson in group.lessons.all():
+                        for teacher in lesson.teachers.all():
+                            teacher_pks.append(teacher.pk)
+                teacher_qs = teacher_qs.filter(pk__in=teacher_pks)
+            else:
+                teacher_qs = teacher_qs.filter(pk=person.pk)
 
         self.fields["teacher"].queryset = teacher_qs
 
@@ -294,7 +312,12 @@ class AssignGroupRoleForm(forms.ModelForm):
             if "groups" not in initial:
                 groups = (
                     Group.objects.for_current_school_term_or_all()
-                    .filter(owners=self.request.user.person)
+                    .filter(
+                        Q(owners=self.request.user.person)
+                        | Q(parent_groups__owners=self.request.user.person)
+                        if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"]
+                        else Q(owners=self.request.user.person)
+                    )
                     .distinct()
                 )
                 self.fields["groups"].queryset = groups
diff --git a/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/ar/LC_MESSAGES/django.po
index 6789a3abca86d188ee71a30e14d1d17db1e851ef..9b3363583bbfa59f7e4c85070f65c6dd3b6a6c55 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: 2021-12-24 13:24+0100\n"
+"POT-Creation-Date: 2022-06-25 15:28+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"
@@ -32,7 +32,7 @@ msgid "Mark as {excuse_type.name}"
 msgstr ""
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
-#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74
+#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
 msgstr ""
@@ -102,28 +102,28 @@ msgstr ""
 msgid "The personal note is marked as excused, but not as absent."
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:10
+#: aleksis/apps/alsijil/filters.py:12
 msgid "After"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:11
+#: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302
-#: aleksis/apps/alsijil/tables.py:107
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
+#: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:16
+#: aleksis/apps/alsijil/filters.py:30
 msgid "Tardiness is lower than"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:17
+#: aleksis/apps/alsijil/filters.py:31
 msgid "Tardiness is bigger than"
 msgstr ""
 
@@ -131,100 +131,104 @@ msgstr ""
 msgid "Homework for the next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:79
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201
+#: aleksis/apps/alsijil/forms.py:104
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:471
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:475
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 msgid "End period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108
-#: aleksis/apps/alsijil/tables.py:129
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62
-#: aleksis/apps/alsijil/models.py:236
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 msgid "Excuse type"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:162
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314
+#: aleksis/apps/alsijil/forms.py:204
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 msgid "Has lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121
+#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
 msgstr ""
 
@@ -269,21 +273,21 @@ msgstr ""
 msgid "All lessons"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63
+#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 msgid "Excuse types"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241
-#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
 msgstr ""
 
@@ -331,52 +335,60 @@ msgstr ""
 msgid "Can register an absence for a person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 msgid "Short name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411
-#: aleksis/apps/alsijil/models.py:435
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315
+#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
+msgid "Count as absent"
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:57
+msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:275
+#: aleksis/apps/alsijil/models.py:292
 msgid "Personal note"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:276
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:327
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:328
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:329
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
@@ -384,85 +396,85 @@ msgstr ""
 msgid "Group note"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:376
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:377
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 msgid "Lesson documentations"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:422
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:436
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:437
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 msgid "Group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
 msgid "Group roles"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:448
+#: aleksis/apps/alsijil/models.py:468
 msgid "Can assign group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:464
+#: aleksis/apps/alsijil/models.py:484
 msgid "Assigned person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:476
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:492
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:499
+#: aleksis/apps/alsijil/models.py:519
 msgid "Can view lesson overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:521
 msgid "Can view full register"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:502
+#: aleksis/apps/alsijil/models.py:522
 msgid "Can register absence"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:503
+#: aleksis/apps/alsijil/models.py:523
 msgid "Can list all personal note filters"
 msgstr ""
 
@@ -478,101 +490,113 @@ msgstr ""
 msgid "Allow primary group owners to register future absences for students in their groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 msgid "This will carry over data only if the data in the following periods are empty."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:79
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43
-#: aleksis/apps/alsijil/tables.py:68
+#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
+#: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:92
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308
+#: aleksis/apps/alsijil/tables.py:96
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:95
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17
+#: aleksis/apps/alsijil/tables.py:99
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:103
+#: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:109
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287
+#: aleksis/apps/alsijil/tables.py:118
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:110
+#: aleksis/apps/alsijil/tables.py:119
 msgid "Excuse"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:147
+#: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
 msgstr ""
@@ -581,7 +605,7 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
 msgstr ""
 
@@ -638,8 +662,8 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16
@@ -677,35 +701,39 @@ msgstr ""
 msgid "Lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 msgid "Persons"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
+msgid "Seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 msgid "Previous"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 msgid "My previous lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 msgid "My next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 msgid ""
 "\n"
 "                  This lesson overlaps with holidays and can't be edited.\n"
@@ -734,7 +762,7 @@ msgid "Statistics"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
 msgstr ""
 
@@ -765,21 +793,27 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
+msgid "Without Excuse Type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
 msgstr ""
 
@@ -821,7 +855,7 @@ msgid "Summed up tardiness"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 msgid "Count of tardiness"
 msgstr ""
 
@@ -941,16 +975,18 @@ msgid "Please check if the following class register entries are complete and cor
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
 msgstr ""
 
@@ -963,12 +999,32 @@ msgstr ""
 msgid "General"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
+msgid "(a)"
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 msgid "Unexcused absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
-msgid "Excused absences"
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
+msgid "Sum (e)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+msgid "Sum of excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+msgid "Regular excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
+msgid "Excuse types (not counted as absent)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
@@ -988,7 +1044,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
 msgstr ""
 
@@ -1012,7 +1068,7 @@ msgstr ""
 msgid "Change history"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 msgid "Tardiness (in m)"
 msgstr ""
 
@@ -1040,6 +1096,50 @@ msgstr ""
 msgid "Late persons:"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
+#, python-format
+msgid ""
+"Seating plan for %(group)s in\n"
+"          %(room)s"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
+#, python-format
+msgid ""
+"\n"
+"            This seating plan is taken from the parent group of %(child_group)s.\n"
+"            If you want, you can take it over for your group and then customize it.\n"
+"          "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
+msgid "Edit seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
+msgid "Copy plan and edit"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
+msgid "There is no seating plan for this lesson."
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
+#, python-format
+msgid ""
+"\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
+#, python-format
+msgid ""
+"\n"
+"                    Create a new seating plan for %(group)s in %(room)s\n"
+"                  "
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
 msgstr ""
@@ -1055,7 +1155,7 @@ msgid "Pending"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
 msgstr ""
 
@@ -1084,19 +1184,27 @@ msgid "No students available."
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 msgid "Primary group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
+msgid "Uncounted Absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
+msgid "Regular excused"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
 msgstr ""
 
@@ -1156,185 +1264,189 @@ msgid "Custom excuse types"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
+msgid "Custom excuse types (not counted as absent)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125
-msgid "(a)"
-msgstr ""
-
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 msgid "Teachers and lessons in child groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
+msgid "Without excuse type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:117
+#: aleksis/apps/alsijil/views.py:118
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:150
+#: aleksis/apps/alsijil/views.py:151
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:246
+#: aleksis/apps/alsijil/views.py:268
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:280
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1049
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1070
+#: aleksis/apps/alsijil/views.py:1140
 msgid "The personal note has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1092
+#: aleksis/apps/alsijil/views.py:1162
 msgid "The extra mark has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1104
+#: aleksis/apps/alsijil/views.py:1174
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1115
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1136
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1148
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1159
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1180
+#: aleksis/apps/alsijil/views.py:1250
 msgid "The group role has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1192
+#: aleksis/apps/alsijil/views.py:1262
 msgid "The group role has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1203
+#: aleksis/apps/alsijil/views.py:1273
 msgid "The group role has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 msgid "The group role has been assigned."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1287
+#: aleksis/apps/alsijil/views.py:1357
 msgid "The group role assignment has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1308
+#: aleksis/apps/alsijil/views.py:1378
 msgid "The group role assignment has been stopped."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1321
+#: aleksis/apps/alsijil/views.py:1391
 msgid "The group role assignment 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 584f38d48ce6d4426da31259eba0d5cf43c97ca9..5c846bc0433997a8a2dfe7488705f1f836591e38 100644
--- a/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/de_DE/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-12-24 13:24+0100\n"
-"PO-Revision-Date: 2021-12-25 20:03+0000\n"
+"POT-Creation-Date: 2022-06-25 15:28+0200\n"
+"PO-Revision-Date: 2022-06-25 13:53+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: German <https://translate.edugit.org/projects/aleksis/"
 "aleksis-app-alsijil/de/>\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.8\n"
+"X-Generator: Weblate 4.12.1\n"
 
 #: aleksis/apps/alsijil/actions.py:18
 msgid "Mark as excused"
@@ -33,7 +33,7 @@ msgid "Mark as {excuse_type.name}"
 msgstr "Als {excuse_type.name} markieren"
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
-#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74
+#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
 msgstr "Löschen"
@@ -103,28 +103,28 @@ msgstr "Sicherstellen, dass es keine entschuldigten persönlichen Notizen ohne e
 msgid "The personal note is marked as excused, but not as absent."
 msgstr "Die persönliche Notiz ist als entschuldigt, aber nicht als abwesend markiert."
 
-#: aleksis/apps/alsijil/filters.py:10
+#: aleksis/apps/alsijil/filters.py:12
 msgid "After"
 msgstr "Nach"
 
-#: aleksis/apps/alsijil/filters.py:11
+#: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
 msgstr "Bevor"
 
-#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302
-#: aleksis/apps/alsijil/tables.py:107
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
+#: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
 msgstr "Fach"
 
-#: aleksis/apps/alsijil/filters.py:16
+#: aleksis/apps/alsijil/filters.py:30
 msgid "Tardiness is lower than"
 msgstr "Verspätung ist geringer als"
 
-#: aleksis/apps/alsijil/filters.py:17
+#: aleksis/apps/alsijil/filters.py:31
 msgid "Tardiness is bigger than"
 msgstr "Verspätung ist größer als"
 
@@ -132,100 +132,106 @@ msgstr "Verspätung ist größer als"
 msgid "Homework for the next lesson"
 msgstr "Hausaufgabe zur nächsten Stunde"
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+"Daten zu allen weiteren Stunden mit dem gleichen Fach in dieser Woche "
+"übernehmen"
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr "Gruppe"
 
-#: aleksis/apps/alsijil/forms.py:79
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201
+#: aleksis/apps/alsijil/forms.py:104
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
 msgstr "Lehrkraft"
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
 msgstr "Es kann nur entweder eine Gruppe oder eine Lehrkraft ausgewählt werden."
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:471
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr "Startdatum"
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:475
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr "Enddatum"
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 msgid "Start period"
 msgstr "Startstunde"
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 msgid "End period"
 msgstr "Endstunde"
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108
-#: aleksis/apps/alsijil/tables.py:129
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
 msgstr "Abwesend"
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
 msgstr "Entschuldigt"
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62
-#: aleksis/apps/alsijil/models.py:236
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 msgid "Excuse type"
 msgstr "Entschuldigungsart"
 
-#: aleksis/apps/alsijil/forms.py:162
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314
+#: aleksis/apps/alsijil/forms.py:204
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
 msgstr "Bemerkungen"
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
 msgstr "Person"
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
 msgstr "Schuljahr"
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 msgid "Has lesson documentation"
 msgstr "Hat eine Stunden-Dokumentation"
 
-#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121
+#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
 msgstr "Veranstaltung"
 
@@ -270,21 +276,21 @@ msgstr "Gruppenrolle zuweisen"
 msgid "All lessons"
 msgstr "Alle Stunden"
 
-#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63
+#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 msgid "Excuse types"
 msgstr "Entschuldigungsarten"
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241
-#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
 msgstr "Zusätzliche Markierungen"
 
@@ -332,52 +338,63 @@ msgstr "Kann eine Gruppenrolle für diese Gruppe zuweisen"
 msgid "Can register an absence for a person"
 msgstr "Kann eine Absenz für eine Person registrieren"
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 msgid "Short name"
 msgstr "Kurzname"
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411
-#: aleksis/apps/alsijil/models.py:435
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
 msgstr "Name"
 
-#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315
+#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
+msgid "Count as absent"
+msgstr "Als abwesend zählen"
+
+#: aleksis/apps/alsijil/models.py:57
+msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgstr ""
+"Wenn ausgewählt wird diese Entschuldigungsart als eine verpasste Stunde "
+"gezählt. Wenn nicht ausgewählt wird es nicht im Abwesenheitsbericht "
+"auftauchen."
+
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
 msgstr "Jahr"
 
-#: aleksis/apps/alsijil/models.py:275
+#: aleksis/apps/alsijil/models.py:292
 msgid "Personal note"
 msgstr "Persönliche Notiz"
 
-#: aleksis/apps/alsijil/models.py:276
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
 msgstr "Persönliche Notizen"
 
-#: aleksis/apps/alsijil/models.py:327
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
 msgstr "Stundenthema"
 
-#: aleksis/apps/alsijil/models.py:328
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
 msgstr "Hausaufgaben"
 
-#: aleksis/apps/alsijil/models.py:329
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
@@ -385,85 +402,85 @@ msgstr "Hausaufgaben"
 msgid "Group note"
 msgstr "Gruppennotiz"
 
-#: aleksis/apps/alsijil/models.py:376
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
 msgstr "Stunden-Dokumentation"
 
-#: aleksis/apps/alsijil/models.py:377
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 msgid "Lesson documentations"
 msgstr "Stunden-Dokumentationen"
 
-#: aleksis/apps/alsijil/models.py:422
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
 msgstr "Zusätzliche Markierung"
 
-#: aleksis/apps/alsijil/models.py:436
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
 msgstr "Symbol"
 
-#: aleksis/apps/alsijil/models.py:437
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
 msgstr "Farbe"
 
-#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 msgid "Group role"
 msgstr "Gruppenrolle"
 
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
 msgid "Group roles"
 msgstr "Gruppenrollen"
 
-#: aleksis/apps/alsijil/models.py:448
+#: aleksis/apps/alsijil/models.py:468
 msgid "Can assign group role"
 msgstr "Kann Gruppenrolle zuweisen"
 
-#: aleksis/apps/alsijil/models.py:464
+#: aleksis/apps/alsijil/models.py:484
 msgid "Assigned person"
 msgstr "Zugewiesene Person"
 
-#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
 msgid "Groups"
 msgstr "Gruppen"
 
-#: aleksis/apps/alsijil/models.py:476
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
 msgstr "Kann frei gelassen werden, wenn das Enddatum noch nicht feststeht"
 
-#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
 msgstr "Zuweisung von Gruppenrollen"
 
-#: aleksis/apps/alsijil/models.py:492
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
 msgstr "Zuweisungen von Gruppenrollen"
 
-#: aleksis/apps/alsijil/models.py:499
+#: aleksis/apps/alsijil/models.py:519
 msgid "Can view lesson overview"
 msgstr "Kann die Stundenübersicht sehen"
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
 msgstr "Kann die Wochenübersicht sehen"
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:521
 msgid "Can view full register"
 msgstr "Kann komplettes Klassenbuch sehen"
 
-#: aleksis/apps/alsijil/models.py:502
+#: aleksis/apps/alsijil/models.py:522
 msgid "Can register absence"
 msgstr "Kann eine Absenz registrieren"
 
-#: aleksis/apps/alsijil/models.py:503
+#: aleksis/apps/alsijil/models.py:523
 msgid "Can list all personal note filters"
 msgstr "Kann alle Filter für persönliche Notizen anzeigen"
 
@@ -479,101 +496,119 @@ msgstr "Erlaube Benutzern, ihre eigenen persönlichen Notizen zu sehen"
 msgid "Allow primary group owners to register future absences for students in their groups"
 msgstr "Erlaube Primärgruppeninhabern Absenzen in der Zukunft für Mitglieder ihrer Gruppen zu registrieren"
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
+msgstr ""
+"Gebe dem Besitzer einer Elterngruppe die gleichen Rechte wie den Besitzern "
+"der entsprechenden Kindgruppen"
+
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
 msgstr "Erlaube den Ursprungslehrkräften, ihre Stunden zu bearbeiten, obwohl sie vertreten worden sind"
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
 msgstr "Daten von der ersten Stunde zu weiteren folgenden Stunden übernehmen"
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 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."
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr ""
+"Erlaube das Übernehmen von Daten von einer Stunde zu allen weiteren Stunden "
+"mit dem gleichen Unterricht in der gleichen Woche"
+
+#: aleksis/apps/alsijil/preferences.py:79
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr ""
+"Dies wird die Daten nur übernehmen, wenn die Daten in den eben genannten "
+"Stunden leer sind."
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
 msgstr "Persönliche Notizen in alle folgenden Unterrichtsstunden am gleichen Tag übernehmen."
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 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"
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 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."
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr "Lehrkräften erlauben, Daten für Stunden in den Ferien hinzuzufügen"
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
 msgstr "Erlaube Gruppenbesitzern, Gruppenrollen für Eltern von Gruppenmitgliedern zuzuweisen"
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
 msgstr "Zugewiesene Gruppenrollen in der Wochenansicht zeigen"
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
 msgstr "Nur Wochenansicht von Gruppen"
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
 msgstr "Zugewiesene Gruppenrollen in der Stundenansicht anzeigen"
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
 msgstr "Einträge pro Seite in der Stundentabelle"
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
 msgstr "Jede Seite muss mindestens einen Eintrag anzeigen."
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr "Stunden standardmäßig anhand der Existenz ihrer Stundendokumentation filtern"
 
-#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43
-#: aleksis/apps/alsijil/tables.py:68
+#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
+#: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: aleksis/apps/alsijil/tables.py:92
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308
+#: aleksis/apps/alsijil/tables.py:96
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
 msgstr "Datum"
 
-#: aleksis/apps/alsijil/tables.py:95
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17
+#: aleksis/apps/alsijil/tables.py:99
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
 msgstr "Stunde"
 
-#: aleksis/apps/alsijil/tables.py:103
+#: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
 msgstr "Lehrkräfte"
 
-#: aleksis/apps/alsijil/tables.py:109
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287
+#: aleksis/apps/alsijil/tables.py:118
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
 msgstr "Verspätung"
 
-#: aleksis/apps/alsijil/tables.py:110
+#: aleksis/apps/alsijil/tables.py:119
 msgid "Excuse"
 msgstr "Entschuldigen"
 
-#: aleksis/apps/alsijil/tables.py:147
+#: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
 msgstr "{value}' verspätet"
@@ -582,7 +617,7 @@ msgstr "{value}' verspätet"
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
 msgstr "Abwesenheit eintragen"
 
@@ -649,8 +684,8 @@ msgstr "Liste der Schülerinnen und Schüler"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16
@@ -688,43 +723,46 @@ msgstr "Schülerinnen und Schüler"
 msgid "Lesson"
 msgstr "Unterrichtsstunde"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 msgid "Persons"
 msgstr "Personen"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
+msgid "Seating plan"
+msgstr "Sitzplan"
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 msgid "Previous"
 msgstr "Vorherige"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
 msgstr "Mehr"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 msgid "My previous lesson"
 msgstr "Meine vorherige Stunde"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 msgid "My next lesson"
 msgstr "Meine nächste Stunde"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
 msgstr "Nächste"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 msgid ""
 "\n"
 "                  This lesson overlaps with holidays and can't be edited.\n"
 "                "
 msgstr ""
 "\n"
-"                  Diese Stunde ist in den Ferien und kann somit nicht "
-"bearbeitet werden.\n"
+"                  Diese Stunde ist in den Ferien und kann somit nicht bearbeitet werden.\n"
 "                "
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:10
@@ -752,7 +790,7 @@ msgid "Statistics"
 msgstr "Statistiken"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
 msgstr "Relevante persönliche Notizen"
 
@@ -783,21 +821,27 @@ msgstr "Statistiken zu Fehlzeiten, Verspätungen und Bemerkungen"
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
 msgstr "Fehlstunden"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
 msgstr "davon"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
+msgid "Without Excuse Type"
+msgstr "Ohne Entschuldigungsart"
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
 msgstr "Unentschuldigt"
 
@@ -841,7 +885,7 @@ msgid "Summed up tardiness"
 msgstr "Summierte Verspätung"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 msgid "Count of tardiness"
 msgstr "Anzahl der Verspätungen"
 
@@ -972,16 +1016,18 @@ msgid "Please check if the following class register entries are complete and cor
 msgstr "Bitte prüfen Sie, ob die folgenden Klassenbucheinträge komplett und richtig sind:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
 msgstr "(e)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
 msgstr "(u)"
 
@@ -994,13 +1040,33 @@ msgstr "Legende"
 msgid "General"
 msgstr "Allgemein"
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
+msgid "(a)"
+msgstr "(a)"
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 msgid "Unexcused absences"
 msgstr "Unentschuldigte Fehlzeiten"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
-msgid "Excused absences"
-msgstr "Entschuldigte Fehlzeiten"
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
+msgid "Sum (e)"
+msgstr "Summe (e)"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+msgid "Sum of excused absences"
+msgstr "Summe der entschuldigten Fehlzeiten"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+msgid "Regular excused absences"
+msgstr "Normal entschuldigte Fehlzeiten"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
+msgid "Excuse types (not counted as absent)"
+msgstr "Entschuldigungsarten (nicht als abwesend gezählt)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42
@@ -1022,7 +1088,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
 msgstr "Speichern"
 
@@ -1052,7 +1118,7 @@ msgstr ""
 msgid "Change history"
 msgstr "Veränderungen"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 msgid "Tardiness (in m)"
 msgstr "Verspätung (in m)"
 
@@ -1080,6 +1146,66 @@ msgstr "Abwesende Personen:"
 msgid "Late persons:"
 msgstr "Verspätete Personen:"
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
+#, python-format
+msgid ""
+"Seating plan for %(group)s in\n"
+"          %(room)s"
+msgstr ""
+"Sitzplan für %(group)s in\n"
+"%(room)s"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
+#, python-format
+msgid ""
+"\n"
+"            This seating plan is taken from the parent group of %(child_group)s.\n"
+"            If you want, you can take it over for your group and then customize it.\n"
+"          "
+msgstr ""
+"\n"
+"            Dieser Sitzplan wurde von der Elterngruppe von %(child_group)s "
+"übernommen.\n"
+"Wenn Sie wollen, können Sie ihn für Ihre Gruppe übernehmen und dann anpassen."
+"\n"
+"          "
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
+msgid "Edit seating plan"
+msgstr "Sitzplan bearbeiten"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
+msgid "Copy plan and edit"
+msgstr "Plan kopieren und bearbeiten"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
+msgid "There is no seating plan for this lesson."
+msgstr "Es gibt keinen Sitzplan für diese Stunde."
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
+#, python-format
+msgid ""
+"\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                "
+msgstr ""
+"\n"
+"                  Einen neuen Sitzplan für %(group)s (%(subject)s) in %(room)"
+"s erstellen\n"
+"                "
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
+#, python-format
+msgid ""
+"\n"
+"                    Create a new seating plan for %(group)s in %(room)s\n"
+"                  "
+msgstr ""
+"\n"
+"                    Einen neuen Sitzplan für %(group)s in %(room)s "
+"erstellen\n"
+"                  "
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
 msgstr "Daten vollständig"
@@ -1095,7 +1221,7 @@ msgid "Pending"
 msgstr "Findet gerade statt"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
 msgstr "Stunde ist ausgefallen"
 
@@ -1124,19 +1250,27 @@ msgid "No students available."
 msgstr "Keine Schülerinnen und Schüler verfügbar."
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 msgid "Primary group"
 msgstr "Primärgruppe"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
+msgid "Uncounted Absences"
+msgstr "Ungezählte Fehlzeiten"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
 msgstr "Summe"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
+msgid "Regular excused"
+msgstr "Normal entschuldigt"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
 msgstr "Mehr Details anzeigen"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
 msgstr "Details"
 
@@ -1210,191 +1344,198 @@ msgid "Custom excuse types"
 msgstr "Benutzerdefinierte Entschuldigungsarten"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
+msgid "Custom excuse types (not counted as absent)"
+msgstr "Benutzerdefinierte Entschuldigungsarten (nicht als abwesend gezählt)"
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
 msgstr "Verfügbare zusätzliche Markierungen"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
 msgstr "Personen in der Gruppe"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
 msgstr "Nr."
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
 msgstr "Nachname"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
 msgstr "Vorname"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
 msgstr "Geschlecht"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
 msgstr "Geburtsdatum"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125
-msgid "(a)"
-msgstr "(a)"
-
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
 msgstr "(b)"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
 msgstr "Lehrkräfte und Fächer der Gruppe"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
 msgstr "Unterrichtsbeginn"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
 msgstr "Unterrichtsende"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
 msgstr "Pro Woche"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 msgid "Teachers and lessons in child groups"
 msgstr "Lehrkräfte und Fächer von Untergruppen"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
 msgstr "Persönliche Übersicht"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
 msgstr "Kontaktdetails"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
 msgstr "Abwesenheiten und Verspätungen"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
+msgid "Without excuse type"
+msgstr "Ohne Entschuldigungsart"
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
 msgstr "Std."
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
 msgstr "Fa."
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
 msgstr "Lk."
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
 msgstr "Verspät."
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
 msgstr "Ja"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
 msgstr "e"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 msgid "Week"
 msgstr "KW"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
 msgstr "Notizen"
 
-#: aleksis/apps/alsijil/views.py:117
+#: aleksis/apps/alsijil/views.py:118
 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."
 
-#: aleksis/apps/alsijil/views.py:150
+#: aleksis/apps/alsijil/views.py:151
 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."
 
-#: aleksis/apps/alsijil/views.py:246
+#: aleksis/apps/alsijil/views.py:268
 msgid "The lesson documentation has been saved."
 msgstr "Die Stunden-Dokumentation wurde gespeichert."
 
-#: aleksis/apps/alsijil/views.py:280
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
 msgstr "Die persönlichen Notizen wurden gespeichert."
 
-#: aleksis/apps/alsijil/views.py:1049
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
 msgstr "Die Abwesenheit wurde gespeichert."
 
-#: aleksis/apps/alsijil/views.py:1070
+#: aleksis/apps/alsijil/views.py:1140
 msgid "The personal note has been deleted."
 msgstr "Die persönliche Notiz wurde gelöscht."
 
-#: aleksis/apps/alsijil/views.py:1092
+#: aleksis/apps/alsijil/views.py:1162
 msgid "The extra mark has been created."
 msgstr "Die zusätzliche Markierung wurde erstellt."
 
-#: aleksis/apps/alsijil/views.py:1104
+#: aleksis/apps/alsijil/views.py:1174
 msgid "The extra mark has been saved."
 msgstr "Die zusätzliche Markierung wurde gespeichert."
 
-#: aleksis/apps/alsijil/views.py:1115
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
 msgstr "Die zusätzliche Markierung wurde gelöscht."
 
-#: aleksis/apps/alsijil/views.py:1136
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
 msgstr "Die Entschuldigungsart wurde erstellt."
 
-#: aleksis/apps/alsijil/views.py:1148
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
 msgstr "Die Entschuldigunsart wurde gespeichert."
 
-#: aleksis/apps/alsijil/views.py:1159
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
 msgstr "Die Entschuldigungsart wurde gelöscht."
 
-#: aleksis/apps/alsijil/views.py:1180
+#: aleksis/apps/alsijil/views.py:1250
 msgid "The group role has been created."
 msgstr "Die Gruppenrolle wurde erstellt."
 
-#: aleksis/apps/alsijil/views.py:1192
+#: aleksis/apps/alsijil/views.py:1262
 msgid "The group role has been saved."
 msgstr "Die Gruppenrolle wurde gespeichert."
 
-#: aleksis/apps/alsijil/views.py:1203
+#: aleksis/apps/alsijil/views.py:1273
 msgid "The group role has been deleted."
 msgstr "Die Gruppenrolle wurde gelöscht."
 
-#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 msgid "The group role has been assigned."
 msgstr "Die Gruppenrolle wurde zugewiesen."
 
-#: aleksis/apps/alsijil/views.py:1287
+#: aleksis/apps/alsijil/views.py:1357
 msgid "The group role assignment has been saved."
 msgstr "Die Gruppenrollenzuweisung wurde gespeichert."
 
-#: aleksis/apps/alsijil/views.py:1308
+#: aleksis/apps/alsijil/views.py:1378
 msgid "The group role assignment has been stopped."
 msgstr "Die Gruppenrollenzuweisung wurde beendet."
 
-#: aleksis/apps/alsijil/views.py:1321
+#: aleksis/apps/alsijil/views.py:1391
 msgid "The group role assignment has been deleted."
 msgstr "Die Gruppenrollenzuweisung wurde gelöscht."
 
+#~ msgid "Excused absences"
+#~ msgstr "Entschuldigte Fehlzeiten"
+
 #~ msgid "Back to week view"
 #~ msgstr "Zurück zur Wochenübersicht"
 
@@ -1408,16 +1549,6 @@ msgstr "Die Gruppenrollenzuweisung wurde gelöscht."
 #~ "            Nächste %(subject)s-Stunde\n"
 #~ "          "
 
-#, python-format
-#~ msgid ""
-#~ "\n"
-#~ "              Previous %(subject)s lesson\n"
-#~ "            "
-#~ msgstr ""
-#~ "\n"
-#~ "              Vorherige %(subject)s Stunde\n"
-#~ "            "
-
 #, python-format
 #~ msgid ""
 #~ "\n"
@@ -1500,11 +1631,6 @@ msgstr "Die Gruppenrollenzuweisung wurde gelöscht."
 #~ msgid "No group selected"
 #~ msgstr "Keine Gruppe ausgewählt"
 
-#, fuzzy
-#~| msgid "Current lesson"
-#~ msgid "Starting lesson"
-#~ msgstr "Aktuelle Unterrichtsstunde"
-
 #~ msgid "AlekSIS - Alsijil (Class register)"
 #~ msgstr "AlekSIS - Alsijil (Klassenbuch)"
 
diff --git a/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/fr/LC_MESSAGES/django.po
index d25ac9f4f0bdc1613df656adab70a6add98209d2..e1a4b25dc5ebd5a6090ead1f0a1eee38d3e07ab3 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: 2021-12-24 13:24+0100\n"
+"POT-Creation-Date: 2022-06-25 15:28+0200\n"
 "PO-Revision-Date: 2021-06-16 11:59+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: French <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/fr/>\n"
@@ -34,7 +34,7 @@ msgid "Mark as {excuse_type.name}"
 msgstr ""
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
-#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74
+#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
 msgstr ""
@@ -114,30 +114,30 @@ msgstr ""
 msgid "The personal note is marked as excused, but not as absent."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/filters.py:10
+#: aleksis/apps/alsijil/filters.py:12
 msgid "After"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:11
+#: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302
-#: aleksis/apps/alsijil/tables.py:107
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
+#: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
 msgstr "Sujet"
 
-#: aleksis/apps/alsijil/filters.py:16
+#: aleksis/apps/alsijil/filters.py:30
 #, fuzzy
 #| msgid "Tardiness"
 msgid "Tardiness is lower than"
 msgstr "Retard"
 
-#: aleksis/apps/alsijil/filters.py:17
+#: aleksis/apps/alsijil/filters.py:31
 #, fuzzy
 #| msgid "Tardiness"
 msgid "Tardiness is bigger than"
@@ -147,108 +147,112 @@ msgstr "Retard"
 msgid "Homework for the next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr "groupe"
 
-#: aleksis/apps/alsijil/forms.py:79
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201
+#: aleksis/apps/alsijil/forms.py:104
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
 msgstr "prof"
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:471
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr "Date de début"
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:475
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr "Date de fin"
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 #, fuzzy
 #| msgid "From period"
 msgid "Start period"
 msgstr "De la période"
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 #, fuzzy
 #| msgid "From period"
 msgid "End period"
 msgstr "De la période"
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108
-#: aleksis/apps/alsijil/tables.py:129
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
 msgstr "Absent(e)"
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
 msgstr "Excusé"
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62
-#: aleksis/apps/alsijil/models.py:236
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 #, fuzzy
 #| msgid "Excused"
 msgid "Excuse type"
 msgstr "Excusé"
 
-#: aleksis/apps/alsijil/forms.py:162
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314
+#: aleksis/apps/alsijil/forms.py:204
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
 msgstr "Remarque"
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
 msgstr "Personne"
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 #, fuzzy
 #| msgid "Lesson documentation"
 msgid "Has lesson documentation"
 msgstr "Documentation de cours"
 
-#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121
+#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
 msgstr ""
 
@@ -299,23 +303,23 @@ msgstr "Personnes en groupe"
 msgid "All lessons"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63
+#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 #, fuzzy
 #| msgid "Excused"
 msgid "Excuse types"
 msgstr "Excusé"
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241
-#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
 msgstr ""
 
@@ -373,56 +377,64 @@ msgstr ""
 msgid "Can register an absence for a person"
 msgstr "Registre de la classe"
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 #, fuzzy
 #| msgid "First name"
 msgid "Short name"
 msgstr "Prénom"
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411
-#: aleksis/apps/alsijil/models.py:435
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315
+#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
+msgid "Count as absent"
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:57
+msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:275
+#: aleksis/apps/alsijil/models.py:292
 #, fuzzy
 #| msgid "Personal notes"
 msgid "Personal note"
 msgstr "Notes personnelles"
 
-#: aleksis/apps/alsijil/models.py:276
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
 msgstr "Notes personnelles"
 
-#: aleksis/apps/alsijil/models.py:327
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
 msgstr "Sujet de cours"
 
-#: aleksis/apps/alsijil/models.py:328
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
 msgstr "Devoirs"
 
-#: aleksis/apps/alsijil/models.py:329
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
@@ -432,12 +444,12 @@ msgstr "Devoirs"
 msgid "Group note"
 msgstr "Groupe"
 
-#: aleksis/apps/alsijil/models.py:376
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
 msgstr "Documentation de cours"
 
-#: aleksis/apps/alsijil/models.py:377
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 #, fuzzy
@@ -445,26 +457,26 @@ msgstr "Documentation de cours"
 msgid "Lesson documentations"
 msgstr "Documentation de cours"
 
-#: aleksis/apps/alsijil/models.py:422
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:436
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:437
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 #, fuzzy
 #| msgid "Group"
 msgid "Group role"
 msgstr "Groupe"
 
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
@@ -473,19 +485,19 @@ msgstr "Groupe"
 msgid "Group roles"
 msgstr "Groupe"
 
-#: aleksis/apps/alsijil/models.py:448
+#: aleksis/apps/alsijil/models.py:468
 #, fuzzy
 #| msgid "Persons in group"
 msgid "Can assign group role"
 msgstr "Personnes en groupe"
 
-#: aleksis/apps/alsijil/models.py:464
+#: aleksis/apps/alsijil/models.py:484
 #, fuzzy
 #| msgid "Absences"
 msgid "Assigned person"
 msgstr "Absences"
 
-#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
@@ -494,41 +506,41 @@ msgstr "Absences"
 msgid "Groups"
 msgstr "Groupe"
 
-#: aleksis/apps/alsijil/models.py:476
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:492
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:499
+#: aleksis/apps/alsijil/models.py:519
 #, fuzzy
 #| msgid "Personal overview"
 msgid "Can view lesson overview"
 msgstr "Vue d'ensemble personnelle"
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:521
 #, fuzzy
 #| msgid "Class register"
 msgid "Can view full register"
 msgstr "Registre de la classe"
 
-#: aleksis/apps/alsijil/models.py:502
+#: aleksis/apps/alsijil/models.py:522
 #, fuzzy
 #| msgid "Register absence"
 msgid "Can register absence"
 msgstr "Registre de Absence"
 
-#: aleksis/apps/alsijil/models.py:503
+#: aleksis/apps/alsijil/models.py:523
 #, fuzzy
 #| msgid "List of all personal note filters"
 msgid "Can list all personal note filters"
@@ -546,105 +558,117 @@ msgstr ""
 msgid "Allow primary group owners to register future absences for students in their groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 msgid "This will carry over data only if the data in the following periods are empty."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:79
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 #, fuzzy
 #| msgid "Teachers and lessons in group"
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr "Profs et cours en groupe"
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43
-#: aleksis/apps/alsijil/tables.py:68
+#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
+#: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:92
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308
+#: aleksis/apps/alsijil/tables.py:96
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
 msgstr "Date"
 
-#: aleksis/apps/alsijil/tables.py:95
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17
+#: aleksis/apps/alsijil/tables.py:99
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
 msgstr "Période"
 
-#: aleksis/apps/alsijil/tables.py:103
+#: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
 msgstr "Profs"
 
-#: aleksis/apps/alsijil/tables.py:109
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287
+#: aleksis/apps/alsijil/tables.py:118
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
 msgstr "Retard"
 
-#: aleksis/apps/alsijil/tables.py:110
+#: aleksis/apps/alsijil/tables.py:119
 #, fuzzy
 #| msgid "Excused"
 msgid "Excuse"
 msgstr "Excusé"
 
-#: aleksis/apps/alsijil/tables.py:147
+#: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
 msgstr ""
@@ -653,7 +677,7 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
 msgstr "Registre de Absence"
 
@@ -720,8 +744,8 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16
@@ -759,43 +783,47 @@ msgstr ""
 msgid "Lesson"
 msgstr "Cours"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 #, fuzzy
 #| msgid "Person"
 msgid "Persons"
 msgstr "Personne"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
+msgid "Seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 #, fuzzy
 #| msgid "Current lesson"
 msgid "Previous"
 msgstr "Lecon actuelle"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 #, fuzzy
 #| msgid "Current lesson"
 msgid "My previous lesson"
 msgstr "Lecon actuelle"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 #, fuzzy
 #| msgid "Current lesson"
 msgid "My next lesson"
 msgstr "Lecon actuelle"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 #, fuzzy
 #| msgid ""
 #| "\n"
@@ -834,7 +862,7 @@ msgid "Statistics"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
 msgstr "Notes personnelles importantes"
 
@@ -871,21 +899,29 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
 msgstr "Absences"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
+#, fuzzy
+#| msgid "Excused"
+msgid "Without Excuse Type"
+msgstr "Excusé"
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
 msgstr "injustifié(e)"
 
@@ -931,7 +967,7 @@ msgid "Summed up tardiness"
 msgstr "Résumé des retards"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 #, fuzzy
 #| msgid "Summed up tardiness"
 msgid "Count of tardiness"
@@ -1065,16 +1101,18 @@ msgid "Please check if the following class register entries are complete and cor
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
 msgstr ""
 
@@ -1087,6 +1125,11 @@ msgstr ""
 msgid "General"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
+msgid "(a)"
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 #, fuzzy
 #| msgid "Unexcused"
@@ -1094,11 +1137,28 @@ msgid "Unexcused absences"
 msgstr "injustifié(e)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
+msgid "Sum (e)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+#, fuzzy
+#| msgid "Unexcused"
+msgid "Sum of excused absences"
+msgstr "injustifié(e)"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
 #, fuzzy
 #| msgid "Unexcused"
-msgid "Excused absences"
+msgid "Regular excused absences"
 msgstr "injustifié(e)"
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
+msgid "Excuse types (not counted as absent)"
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7
@@ -1117,7 +1177,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
 msgstr ""
 
@@ -1141,7 +1201,7 @@ msgstr ""
 msgid "Change history"
 msgstr "Changement d' histoire"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 #, fuzzy
 #| msgid "Tardiness"
 msgid "Tardiness (in m)"
@@ -1173,6 +1233,50 @@ msgstr "Absences"
 msgid "Late persons:"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
+#, python-format
+msgid ""
+"Seating plan for %(group)s in\n"
+"          %(room)s"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
+#, python-format
+msgid ""
+"\n"
+"            This seating plan is taken from the parent group of %(child_group)s.\n"
+"            If you want, you can take it over for your group and then customize it.\n"
+"          "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
+msgid "Edit seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
+msgid "Copy plan and edit"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
+msgid "There is no seating plan for this lesson."
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
+#, python-format
+msgid ""
+"\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
+#, python-format
+msgid ""
+"\n"
+"                    Create a new seating plan for %(group)s in %(room)s\n"
+"                  "
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
 msgstr ""
@@ -1188,7 +1292,7 @@ msgid "Pending"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
 msgstr "Cours annulés"
 
@@ -1223,21 +1327,33 @@ msgid "No students available."
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 #, fuzzy
 #| msgid "Group"
 msgid "Primary group"
 msgstr "Groupe"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
+#, fuzzy
+#| msgid "Unexcused"
+msgid "Uncounted Absences"
+msgstr "injustifié(e)"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
+#, fuzzy
+#| msgid "unexcused"
+msgid "Regular excused"
+msgstr "Injustifié(e)"
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
 msgstr ""
 
@@ -1299,215 +1415,226 @@ msgid "Custom excuse types"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
+msgid "Custom excuse types (not counted as absent)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
 msgstr "Personnes en groupe"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
 msgstr "Non."
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
 msgstr "Nom de famille"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
 msgstr "Prénom"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
 msgstr "Sexe"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
 msgstr "Date d'anniversaire"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125
-msgid "(a)"
-msgstr ""
-
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
 msgstr "Profs et cours en groupe"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
 msgstr "Début de cours"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
 msgstr "Fin de cours"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
 msgstr "Par semaine"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 #, fuzzy
 #| msgid "Teachers and lessons in group"
 msgid "Teachers and lessons in child groups"
 msgstr "Profs et cours en groupe"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
 msgstr "Vue d'ensemble personnelle"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
 msgstr "Détails de contact"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
 msgstr "Absences et retards"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
+#, fuzzy
+#| msgid "Excused"
+msgid "Without excuse type"
+msgstr "Excusé"
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
 msgstr "Oui"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
 msgstr "e"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 #, fuzzy
 #| msgid "Week view"
 msgid "Week"
 msgstr "Vue de semaine"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
 msgstr "Notes"
 
-#: aleksis/apps/alsijil/views.py:117
+#: aleksis/apps/alsijil/views.py:118
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:150
+#: aleksis/apps/alsijil/views.py:151
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:246
+#: aleksis/apps/alsijil/views.py:268
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The lesson documentation has been saved."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:280
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1049
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1070
+#: aleksis/apps/alsijil/views.py:1140
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The personal note has been deleted."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1092
+#: aleksis/apps/alsijil/views.py:1162
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The extra mark has been created."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1104
+#: aleksis/apps/alsijil/views.py:1174
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The extra mark has been saved."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1115
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1136
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1148
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1159
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1180
+#: aleksis/apps/alsijil/views.py:1250
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role has been created."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1192
+#: aleksis/apps/alsijil/views.py:1262
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role has been saved."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1203
+#: aleksis/apps/alsijil/views.py:1273
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role has been deleted."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role has been assigned."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1287
+#: aleksis/apps/alsijil/views.py:1357
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role assignment has been saved."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1308
+#: aleksis/apps/alsijil/views.py:1378
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role assignment has been stopped."
 msgstr "Documentation de cours pour la semaine calendrier"
 
-#: aleksis/apps/alsijil/views.py:1321
+#: aleksis/apps/alsijil/views.py:1391
 #, fuzzy
 #| msgid "Lesson documentation for calendar week"
 msgid "The group role assignment has been deleted."
 msgstr "Documentation de cours pour la semaine calendrier"
 
+#, fuzzy
+#~| msgid "Unexcused"
+#~ msgid "Excused absences"
+#~ msgstr "injustifié(e)"
+
 #, fuzzy
 #~| msgid "Week view"
 #~ msgid "Back to week view"
diff --git a/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/la/LC_MESSAGES/django.po
index fc62666b0939662f7b64dd2b03f1cfa3e68dedb6..482b187e4b662d5dae6984428bf834aeb086c7eb 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: 2021-12-24 13:24+0100\n"
+"POT-Creation-Date: 2022-06-25 15:28+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"
@@ -32,7 +32,7 @@ msgid "Mark as {excuse_type.name}"
 msgstr ""
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
-#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74
+#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
 msgstr ""
@@ -102,28 +102,28 @@ msgstr ""
 msgid "The personal note is marked as excused, but not as absent."
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:10
+#: aleksis/apps/alsijil/filters.py:12
 msgid "After"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:11
+#: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302
-#: aleksis/apps/alsijil/tables.py:107
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
+#: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:16
+#: aleksis/apps/alsijil/filters.py:30
 msgid "Tardiness is lower than"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:17
+#: aleksis/apps/alsijil/filters.py:31
 msgid "Tardiness is bigger than"
 msgstr ""
 
@@ -131,100 +131,104 @@ msgstr ""
 msgid "Homework for the next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr "Grex"
 
-#: aleksis/apps/alsijil/forms.py:79
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201
+#: aleksis/apps/alsijil/forms.py:104
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:471
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:475
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 msgid "End period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108
-#: aleksis/apps/alsijil/tables.py:129
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62
-#: aleksis/apps/alsijil/models.py:236
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 msgid "Excuse type"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:162
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314
+#: aleksis/apps/alsijil/forms.py:204
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
 msgstr "Persona"
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 msgid "Has lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121
+#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
 msgstr ""
 
@@ -271,21 +275,21 @@ msgstr ""
 msgid "All lessons"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63
+#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 msgid "Excuse types"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241
-#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
 msgstr ""
 
@@ -333,56 +337,64 @@ msgstr ""
 msgid "Can register an absence for a person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 #, fuzzy
 #| msgid "First name"
 msgid "Short name"
 msgstr "Primus nomen"
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411
-#: aleksis/apps/alsijil/models.py:435
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315
+#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
+msgid "Count as absent"
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:57
+msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:275
+#: aleksis/apps/alsijil/models.py:292
 #, fuzzy
 #| msgid "Person"
 msgid "Personal note"
 msgstr "Persona"
 
-#: aleksis/apps/alsijil/models.py:276
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:327
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:328
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:329
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
@@ -392,37 +404,37 @@ msgstr ""
 msgid "Group note"
 msgstr "Grex"
 
-#: aleksis/apps/alsijil/models.py:376
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:377
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 msgid "Lesson documentations"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:422
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:436
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:437
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 #, fuzzy
 #| msgid "Group"
 msgid "Group role"
 msgstr "Grex"
 
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
@@ -431,15 +443,15 @@ msgstr "Grex"
 msgid "Group roles"
 msgstr "Grex"
 
-#: aleksis/apps/alsijil/models.py:448
+#: aleksis/apps/alsijil/models.py:468
 msgid "Can assign group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:464
+#: aleksis/apps/alsijil/models.py:484
 msgid "Assigned person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
@@ -448,35 +460,35 @@ msgstr ""
 msgid "Groups"
 msgstr "Grex"
 
-#: aleksis/apps/alsijil/models.py:476
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:492
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:499
+#: aleksis/apps/alsijil/models.py:519
 msgid "Can view lesson overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:521
 msgid "Can view full register"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:502
+#: aleksis/apps/alsijil/models.py:522
 msgid "Can register absence"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:503
+#: aleksis/apps/alsijil/models.py:523
 msgid "Can list all personal note filters"
 msgstr ""
 
@@ -492,101 +504,113 @@ msgstr ""
 msgid "Allow primary group owners to register future absences for students in their groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 msgid "This will carry over data only if the data in the following periods are empty."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:79
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43
-#: aleksis/apps/alsijil/tables.py:68
+#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
+#: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:92
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308
+#: aleksis/apps/alsijil/tables.py:96
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
 msgstr "dies"
 
-#: aleksis/apps/alsijil/tables.py:95
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17
+#: aleksis/apps/alsijil/tables.py:99
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:103
+#: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:109
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287
+#: aleksis/apps/alsijil/tables.py:118
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:110
+#: aleksis/apps/alsijil/tables.py:119
 msgid "Excuse"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:147
+#: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
 msgstr ""
@@ -595,7 +619,7 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
 msgstr ""
 
@@ -652,8 +676,8 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16
@@ -691,37 +715,41 @@ msgstr ""
 msgid "Lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 #, fuzzy
 #| msgid "Person"
 msgid "Persons"
 msgstr "Persona"
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
+msgid "Seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 msgid "Previous"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 msgid "My previous lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 msgid "My next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 msgid ""
 "\n"
 "                  This lesson overlaps with holidays and can't be edited.\n"
@@ -750,7 +778,7 @@ msgid "Statistics"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
 msgstr ""
 
@@ -785,21 +813,27 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
+msgid "Without Excuse Type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
 msgstr ""
 
@@ -841,7 +875,7 @@ msgid "Summed up tardiness"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 msgid "Count of tardiness"
 msgstr ""
 
@@ -963,16 +997,18 @@ msgid "Please check if the following class register entries are complete and cor
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
 msgstr ""
 
@@ -985,12 +1021,32 @@ msgstr ""
 msgid "General"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
+msgid "(a)"
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 msgid "Unexcused absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
-msgid "Excused absences"
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
+msgid "Sum (e)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+msgid "Sum of excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+msgid "Regular excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
+msgid "Excuse types (not counted as absent)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
@@ -1010,7 +1066,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
 msgstr ""
 
@@ -1034,7 +1090,7 @@ msgstr ""
 msgid "Change history"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 msgid "Tardiness (in m)"
 msgstr ""
 
@@ -1062,6 +1118,50 @@ msgstr ""
 msgid "Late persons:"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
+#, python-format
+msgid ""
+"Seating plan for %(group)s in\n"
+"          %(room)s"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
+#, python-format
+msgid ""
+"\n"
+"            This seating plan is taken from the parent group of %(child_group)s.\n"
+"            If you want, you can take it over for your group and then customize it.\n"
+"          "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
+msgid "Edit seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
+msgid "Copy plan and edit"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
+msgid "There is no seating plan for this lesson."
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
+#, python-format
+msgid ""
+"\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
+#, python-format
+msgid ""
+"\n"
+"                    Create a new seating plan for %(group)s in %(room)s\n"
+"                  "
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
 msgstr ""
@@ -1077,7 +1177,7 @@ msgid "Pending"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
 msgstr ""
 
@@ -1106,21 +1206,29 @@ msgid "No students available."
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 #, fuzzy
 #| msgid "Group"
 msgid "Primary group"
 msgstr "Grex"
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
+msgid "Uncounted Absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
+msgid "Regular excused"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
 msgstr ""
 
@@ -1180,186 +1288,190 @@ msgid "Custom excuse types"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
+msgid "Custom excuse types (not counted as absent)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
 msgstr "Secondus nomen"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
 msgstr "Primus nomen"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
 msgstr "Genus"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
 msgstr "Dies natalis"
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125
-msgid "(a)"
-msgstr ""
-
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 msgid "Teachers and lessons in child groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
+msgid "Without excuse type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:117
+#: aleksis/apps/alsijil/views.py:118
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:150
+#: aleksis/apps/alsijil/views.py:151
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:246
+#: aleksis/apps/alsijil/views.py:268
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:280
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1049
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1070
+#: aleksis/apps/alsijil/views.py:1140
 msgid "The personal note has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1092
+#: aleksis/apps/alsijil/views.py:1162
 msgid "The extra mark has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1104
+#: aleksis/apps/alsijil/views.py:1174
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1115
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1136
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1148
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1159
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1180
+#: aleksis/apps/alsijil/views.py:1250
 msgid "The group role has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1192
+#: aleksis/apps/alsijil/views.py:1262
 msgid "The group role has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1203
+#: aleksis/apps/alsijil/views.py:1273
 msgid "The group role has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 msgid "The group role has been assigned."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1287
+#: aleksis/apps/alsijil/views.py:1357
 msgid "The group role assignment has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1308
+#: aleksis/apps/alsijil/views.py:1378
 msgid "The group role assignment has been stopped."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1321
+#: aleksis/apps/alsijil/views.py:1391
 msgid "The group role assignment 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 0f75a14f7e9b4a4ec0b20f5fe915794fbb6aa540..90e59955ce06421fc74620937eb7c06cce05da2b 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: 2021-12-24 13:24+0100\n"
+"POT-Creation-Date: 2022-06-25 15:28+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"
@@ -31,7 +31,7 @@ msgid "Mark as {excuse_type.name}"
 msgstr ""
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
-#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74
+#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
 msgstr ""
@@ -101,28 +101,28 @@ msgstr ""
 msgid "The personal note is marked as excused, but not as absent."
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:10
+#: aleksis/apps/alsijil/filters.py:12
 msgid "After"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:11
+#: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302
-#: aleksis/apps/alsijil/tables.py:107
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
+#: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:16
+#: aleksis/apps/alsijil/filters.py:30
 msgid "Tardiness is lower than"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:17
+#: aleksis/apps/alsijil/filters.py:31
 msgid "Tardiness is bigger than"
 msgstr ""
 
@@ -130,100 +130,104 @@ msgstr ""
 msgid "Homework for the next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:79
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201
+#: aleksis/apps/alsijil/forms.py:104
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:471
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:475
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 msgid "End period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108
-#: aleksis/apps/alsijil/tables.py:129
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62
-#: aleksis/apps/alsijil/models.py:236
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 msgid "Excuse type"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:162
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314
+#: aleksis/apps/alsijil/forms.py:204
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 msgid "Has lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121
+#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
 msgstr ""
 
@@ -268,21 +272,21 @@ msgstr ""
 msgid "All lessons"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63
+#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 msgid "Excuse types"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241
-#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
 msgstr ""
 
@@ -330,52 +334,60 @@ msgstr ""
 msgid "Can register an absence for a person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 msgid "Short name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411
-#: aleksis/apps/alsijil/models.py:435
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315
+#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
+msgid "Count as absent"
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:57
+msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:275
+#: aleksis/apps/alsijil/models.py:292
 msgid "Personal note"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:276
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:327
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:328
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:329
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
@@ -383,85 +395,85 @@ msgstr ""
 msgid "Group note"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:376
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:377
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 msgid "Lesson documentations"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:422
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:436
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:437
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 msgid "Group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
 msgid "Group roles"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:448
+#: aleksis/apps/alsijil/models.py:468
 msgid "Can assign group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:464
+#: aleksis/apps/alsijil/models.py:484
 msgid "Assigned person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:476
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:492
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:499
+#: aleksis/apps/alsijil/models.py:519
 msgid "Can view lesson overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:521
 msgid "Can view full register"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:502
+#: aleksis/apps/alsijil/models.py:522
 msgid "Can register absence"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:503
+#: aleksis/apps/alsijil/models.py:523
 msgid "Can list all personal note filters"
 msgstr ""
 
@@ -477,101 +489,113 @@ msgstr ""
 msgid "Allow primary group owners to register future absences for students in their groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 msgid "This will carry over data only if the data in the following periods are empty."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:79
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43
-#: aleksis/apps/alsijil/tables.py:68
+#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
+#: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:92
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308
+#: aleksis/apps/alsijil/tables.py:96
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:95
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17
+#: aleksis/apps/alsijil/tables.py:99
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:103
+#: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:109
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287
+#: aleksis/apps/alsijil/tables.py:118
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:110
+#: aleksis/apps/alsijil/tables.py:119
 msgid "Excuse"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:147
+#: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
 msgstr ""
@@ -580,7 +604,7 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
 msgstr ""
 
@@ -637,8 +661,8 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16
@@ -676,35 +700,39 @@ msgstr ""
 msgid "Lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 msgid "Persons"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
+msgid "Seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 msgid "Previous"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 msgid "My previous lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 msgid "My next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 msgid ""
 "\n"
 "                  This lesson overlaps with holidays and can't be edited.\n"
@@ -733,7 +761,7 @@ msgid "Statistics"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
 msgstr ""
 
@@ -764,21 +792,27 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
+msgid "Without Excuse Type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
 msgstr ""
 
@@ -820,7 +854,7 @@ msgid "Summed up tardiness"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 msgid "Count of tardiness"
 msgstr ""
 
@@ -940,16 +974,18 @@ msgid "Please check if the following class register entries are complete and cor
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
 msgstr ""
 
@@ -962,12 +998,32 @@ msgstr ""
 msgid "General"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
+msgid "(a)"
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 msgid "Unexcused absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
-msgid "Excused absences"
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
+msgid "Sum (e)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+msgid "Sum of excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+msgid "Regular excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
+msgid "Excuse types (not counted as absent)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
@@ -987,7 +1043,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
 msgstr ""
 
@@ -1011,7 +1067,7 @@ msgstr ""
 msgid "Change history"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 msgid "Tardiness (in m)"
 msgstr ""
 
@@ -1039,6 +1095,50 @@ msgstr ""
 msgid "Late persons:"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
+#, python-format
+msgid ""
+"Seating plan for %(group)s in\n"
+"          %(room)s"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
+#, python-format
+msgid ""
+"\n"
+"            This seating plan is taken from the parent group of %(child_group)s.\n"
+"            If you want, you can take it over for your group and then customize it.\n"
+"          "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
+msgid "Edit seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
+msgid "Copy plan and edit"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
+msgid "There is no seating plan for this lesson."
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
+#, python-format
+msgid ""
+"\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
+#, python-format
+msgid ""
+"\n"
+"                    Create a new seating plan for %(group)s in %(room)s\n"
+"                  "
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
 msgstr ""
@@ -1054,7 +1154,7 @@ msgid "Pending"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
 msgstr ""
 
@@ -1083,19 +1183,27 @@ msgid "No students available."
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 msgid "Primary group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
+msgid "Uncounted Absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
+msgid "Regular excused"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
 msgstr ""
 
@@ -1155,185 +1263,189 @@ msgid "Custom excuse types"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
+msgid "Custom excuse types (not counted as absent)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125
-msgid "(a)"
-msgstr ""
-
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 msgid "Teachers and lessons in child groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
+msgid "Without excuse type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:117
+#: aleksis/apps/alsijil/views.py:118
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:150
+#: aleksis/apps/alsijil/views.py:151
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:246
+#: aleksis/apps/alsijil/views.py:268
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:280
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1049
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1070
+#: aleksis/apps/alsijil/views.py:1140
 msgid "The personal note has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1092
+#: aleksis/apps/alsijil/views.py:1162
 msgid "The extra mark has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1104
+#: aleksis/apps/alsijil/views.py:1174
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1115
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1136
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1148
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1159
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1180
+#: aleksis/apps/alsijil/views.py:1250
 msgid "The group role has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1192
+#: aleksis/apps/alsijil/views.py:1262
 msgid "The group role has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1203
+#: aleksis/apps/alsijil/views.py:1273
 msgid "The group role has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 msgid "The group role has been assigned."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1287
+#: aleksis/apps/alsijil/views.py:1357
 msgid "The group role assignment has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1308
+#: aleksis/apps/alsijil/views.py:1378
 msgid "The group role assignment has been stopped."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1321
+#: aleksis/apps/alsijil/views.py:1391
 msgid "The group role assignment has been deleted."
 msgstr ""
diff --git a/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po
index cfdaa5cfb780278cb399496235d9af4140f18d64..93d349cecf093887a55f6b282bb277156f9687bf 100644
--- a/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/ru/LC_MESSAGES/django.po
@@ -3,172 +3,175 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-23 12:35+0000\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"
-"Language: \n"
+"POT-Creation-Date: 2022-06-25 15:28+0200\n"
+"PO-Revision-Date: 2022-06-22 19:59+0000\n"
+"Last-Translator: Serhii Horichenko <m@sgg.im>\n"
+"Language-Team: Russian <https://translate.edugit.org/projects/aleksis/aleksis-app-alsijil/ru/>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
-"%100>=11 && n%100<=14)? 2 : 3);\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
+"X-Generator: Weblate 4.12.1\n"
+
 #: aleksis/apps/alsijil/actions.py:18
 msgid "Mark as excused"
-msgstr ""
+msgstr "Отметить как уважительный"
 
 #: aleksis/apps/alsijil/actions.py:25
 msgid "Mark as unexcused"
-msgstr ""
+msgstr "Отметить без уважительной причины"
 
 #: aleksis/apps/alsijil/actions.py:32
 #, python-brace-format
 msgid "Mark as {excuse_type.name}"
-msgstr ""
+msgstr "Отметить как {excuse_type.name}"
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
 #: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
-msgstr ""
+msgstr "Удалить"
 
 #: aleksis/apps/alsijil/actions.py:68
 msgid "{} asks you to check some class register entries."
-msgstr ""
+msgstr "{} просит Вас проверить некоторые записи классного журнала."
 
 #: aleksis/apps/alsijil/actions.py:86
 #, python-brace-format
 msgid "We have successfully sent notifications to {count_teachers} persons for {count_items} lessons."
-msgstr ""
+msgstr "Мы отправили уведомление для {count_teachers} чел. о {count_items} уроках."
 
 #: aleksis/apps/alsijil/actions.py:92
 msgid "Ask teacher to check data"
-msgstr ""
+msgstr "Попросить учителя проверить данные"
 
 #: aleksis/apps/alsijil/data_checks.py:12
 msgid "Delete object"
-msgstr ""
+msgstr "Удалить объект"
 
 #: aleksis/apps/alsijil/data_checks.py:22
 msgid "Set current groups"
-msgstr ""
+msgstr "Установить текущие группы"
 
 #: aleksis/apps/alsijil/data_checks.py:33
 msgid "Reset personal note to defaults"
-msgstr ""
+msgstr "Сбросить личные заметки на типовые"
 
 #: aleksis/apps/alsijil/data_checks.py:45
 msgid "Ensure that there are no personal notes in cancelled lessons"
-msgstr ""
+msgstr "Убедитесь, чтобы в отмененных уроках не было личных заметок"
 
 #: aleksis/apps/alsijil/data_checks.py:46
 msgid "The personal note is related to a cancelled lesson."
-msgstr ""
+msgstr "У отмененного урока есть связанные личные заметки."
 
 #: aleksis/apps/alsijil/data_checks.py:73
 msgid "Ensure that 'groups_of_person' is set for every personal note"
-msgstr ""
+msgstr "Убедитесь, что для каждой личной заметки установлены \"группы_лиц\""
 
 #: aleksis/apps/alsijil/data_checks.py:74
 msgid "The personal note has no group in 'groups_of_person'."
-msgstr ""
+msgstr "Эта личная заметка без группы в \"группах_лиц\"."
 
 #: aleksis/apps/alsijil/data_checks.py:99
 msgid "Ensure that there are no filled out lesson documentations on holidays"
-msgstr ""
+msgstr "Убедитесь, что на выходные нет заполненного учебного материала"
 
 #: aleksis/apps/alsijil/data_checks.py:100
 msgid "The lesson documentation is on holidays."
-msgstr ""
+msgstr "На выходные есть учебный материал."
 
 #: aleksis/apps/alsijil/data_checks.py:133
 msgid "Ensure that there are no filled out personal notes on holidays"
-msgstr ""
+msgstr "Убедитесь, что на выходные нет заполненных личных заметок"
 
 #: aleksis/apps/alsijil/data_checks.py:134
 msgid "The personal note is on holidays."
-msgstr ""
+msgstr "На выходные есть личные заметки."
 
 #: aleksis/apps/alsijil/data_checks.py:162
 msgid "Ensure that there are no excused personal notes without an absence"
-msgstr ""
+msgstr "Убедитесь, что нет личных заметок с пояснениями без отсутствия"
 
 #: aleksis/apps/alsijil/data_checks.py:163
 msgid "The personal note is marked as excused, but not as absent."
-msgstr ""
+msgstr "Эта личная заметка отмечена как пояснительная, но нет отсутствия."
 
 #: aleksis/apps/alsijil/filters.py:12
 msgid "After"
-msgstr ""
+msgstr "После"
 
 #: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
-msgstr ""
+msgstr "До"
 
-#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:302
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
 #: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
-msgstr ""
+msgstr "Предмет"
 
 #: aleksis/apps/alsijil/filters.py:30
 msgid "Tardiness is lower than"
-msgstr ""
+msgstr "Опоздание меньше, чем на"
 
 #: aleksis/apps/alsijil/filters.py:31
 msgid "Tardiness is bigger than"
-msgstr ""
+msgstr "Опоздание больше, чем на"
 
 #: aleksis/apps/alsijil/forms.py:47
 msgid "Homework for the next lesson"
+msgstr "Домашняя работа на следующий урок"
+
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
-msgstr ""
+msgstr "Группа"
 
-#: aleksis/apps/alsijil/forms.py:79
+#: aleksis/apps/alsijil/forms.py:104
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
-msgstr ""
+msgstr "Преподаватель"
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
-msgstr ""
+msgstr "Вы не можете одновременно выбрать группу и преподавателя."
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:480
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
-msgstr ""
+msgstr "Дата начала"
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:484
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
-msgstr ""
+msgstr "Дата окончания"
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 msgid "Start period"
-msgstr ""
+msgstr "Начало уроков"
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 msgid "End period"
-msgstr ""
+msgstr "Окончание уроков"
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
 #: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
@@ -176,9 +179,9 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
-msgstr ""
+msgstr "Отсутствует"
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:146
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
@@ -186,36 +189,36 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
-msgstr ""
+msgstr "Уважительно"
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:71
-#: aleksis/apps/alsijil/models.py:245
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 msgid "Excuse type"
-msgstr ""
+msgstr "Тип объяснительной записки"
 
-#: aleksis/apps/alsijil/forms.py:162
+#: aleksis/apps/alsijil/forms.py:204
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
-msgstr ""
+msgstr "Замечания"
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
-msgstr ""
+msgstr "Лицо"
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
-msgstr ""
+msgstr "Учебный год"
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 msgid "Has lesson documentation"
-msgstr ""
+msgstr "Имеет в наличии учебный материал"
 
 #: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
@@ -225,60 +228,60 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
-msgstr ""
+msgstr "Событие"
 
 #: aleksis/apps/alsijil/menus.py:6 aleksis/apps/alsijil/preferences.py:9
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:16
 msgid "Class register"
-msgstr ""
+msgstr "Классный журнал"
 
 #: aleksis/apps/alsijil/menus.py:16
 msgid "Current lesson"
-msgstr ""
+msgstr "Текущий урок"
 
 #: aleksis/apps/alsijil/menus.py:27
 msgid "Current week"
-msgstr ""
+msgstr "Текущая неделя"
 
 #: aleksis/apps/alsijil/menus.py:38
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:5
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:8
 msgid "My groups"
-msgstr ""
+msgstr "Мои группы"
 
 #: aleksis/apps/alsijil/menus.py:49
 msgid "My overview"
-msgstr ""
+msgstr "Мой обзор"
 
 #: aleksis/apps/alsijil/menus.py:60
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:5
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:9
 msgid "My students"
-msgstr ""
+msgstr "Мои студенты"
 
 #: aleksis/apps/alsijil/menus.py:71
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:11
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:18
 msgid "Assign group role"
-msgstr ""
+msgstr "Назначить роль группы"
 
 #: aleksis/apps/alsijil/menus.py:82
 #: aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html:5
 #: aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html:8
 msgid "All lessons"
-msgstr ""
+msgstr "Все уроки"
 
 #: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 msgid "Excuse types"
-msgstr ""
+msgstr "Типы объяснительных"
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:250
-#: aleksis/apps/alsijil/models.py:432 aleksis/apps/alsijil/tables.py:120
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
@@ -286,286 +289,302 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
-msgstr ""
+msgstr "Дополнительные отметки"
 
 #: aleksis/apps/alsijil/menus.py:115
 msgid "Manage group roles"
-msgstr ""
+msgstr "Управление ролями групп"
 
-#: aleksis/apps/alsijil/model_extensions.py:190
+#: aleksis/apps/alsijil/model_extensions.py:191
 msgid "Can view week overview of group class register"
-msgstr ""
+msgstr "Может просматривать классный журнал группы за неделю"
 
-#: aleksis/apps/alsijil/model_extensions.py:194
+#: aleksis/apps/alsijil/model_extensions.py:195
 msgid "Can view lesson overview of group class register"
-msgstr ""
+msgstr "Может просматривать классный журнал группы за урок"
 
-#: aleksis/apps/alsijil/model_extensions.py:196
+#: aleksis/apps/alsijil/model_extensions.py:197
 msgid "Can view all personal notes of a group"
-msgstr ""
+msgstr "Может просматривать все личные заметки группы"
 
-#: aleksis/apps/alsijil/model_extensions.py:197
+#: aleksis/apps/alsijil/model_extensions.py:198
 msgid "Can edit all personal notes of a group"
-msgstr ""
+msgstr "Может редактировать все личные заметки группы"
 
-#: aleksis/apps/alsijil/model_extensions.py:199
+#: aleksis/apps/alsijil/model_extensions.py:200
 msgid "Can view all lesson documentation of a group"
-msgstr ""
+msgstr "Может просматривать весь учебный материал группы"
 
-#: aleksis/apps/alsijil/model_extensions.py:202
+#: aleksis/apps/alsijil/model_extensions.py:203
 msgid "Can edit all lesson documentation of a group"
-msgstr ""
+msgstr "Может редактировать весь учебный материал группы"
 
-#: aleksis/apps/alsijil/model_extensions.py:204
+#: aleksis/apps/alsijil/model_extensions.py:205
 msgid "Can view full register of a group"
-msgstr ""
+msgstr "Может просматривать классный журнал группы без ограничений"
 
-#: aleksis/apps/alsijil/model_extensions.py:206
+#: aleksis/apps/alsijil/model_extensions.py:207
 msgid "Can register an absence for all members of a group"
-msgstr ""
+msgstr "Может регистрировать пропуски для всех участников группы"
 
-#: aleksis/apps/alsijil/model_extensions.py:208
+#: aleksis/apps/alsijil/model_extensions.py:209
 msgid "Can assign a group role for this group"
-msgstr ""
+msgstr "Может назначать роль группы для этой группы"
 
-#: aleksis/apps/alsijil/model_extensions.py:209
+#: aleksis/apps/alsijil/model_extensions.py:210
 msgid "Can register an absence for a person"
-msgstr ""
+msgstr "Может регистрировать отсутствия"
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:419
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 msgid "Short name"
-msgstr ""
+msgstr "Короткое имя"
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:420
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
-msgstr ""
+msgstr "Имя"
 
 #: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
 msgid "Count as absent"
-msgstr ""
+msgstr "Количество отсутствующих"
 
 #: aleksis/apps/alsijil/models.py:57
 msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
-msgstr ""
+msgstr "Если отмечено, этот тип объяснительной будет засчитан как пропущенный урок. Если не отмечено, то без записи в отчет о пропусках."
 
-#: aleksis/apps/alsijil/models.py:225 aleksis/apps/alsijil/models.py:324
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
-msgstr ""
+msgstr "Год"
 
-#: aleksis/apps/alsijil/models.py:284
+#: aleksis/apps/alsijil/models.py:292
 msgid "Personal note"
-msgstr ""
+msgstr "Личная заметка"
 
-#: aleksis/apps/alsijil/models.py:285
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
-msgstr ""
+msgstr "Личные заметки"
 
-#: aleksis/apps/alsijil/models.py:336
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
-msgstr ""
+msgstr "Тема урока"
 
-#: aleksis/apps/alsijil/models.py:337
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
-msgstr ""
+msgstr "Домашняя работа"
 
-#: aleksis/apps/alsijil/models.py:338
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:42
 msgid "Group note"
-msgstr ""
+msgstr "Групповая заметка"
 
-#: aleksis/apps/alsijil/models.py:385
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
-msgstr ""
+msgstr "Учебный материал"
 
-#: aleksis/apps/alsijil/models.py:386
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 msgid "Lesson documentations"
-msgstr ""
+msgstr "Учебные материалы"
 
-#: aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
-msgstr ""
+msgstr "Дополнительная отметка"
 
-#: aleksis/apps/alsijil/models.py:445
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
-msgstr ""
+msgstr "Иконка"
 
-#: aleksis/apps/alsijil/models.py:446
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
-msgstr ""
+msgstr "Цвет"
 
-#: aleksis/apps/alsijil/models.py:452 aleksis/apps/alsijil/models.py:467
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 msgid "Group role"
-msgstr ""
+msgstr "Роль группы"
 
-#: aleksis/apps/alsijil/models.py:453
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
 msgid "Group roles"
-msgstr ""
+msgstr "Роли групп"
 
-#: aleksis/apps/alsijil/models.py:457
+#: aleksis/apps/alsijil/models.py:468
 msgid "Can assign group role"
-msgstr ""
+msgstr "Может назначать роль группы"
 
-#: aleksis/apps/alsijil/models.py:473
+#: aleksis/apps/alsijil/models.py:484
 msgid "Assigned person"
-msgstr ""
+msgstr "Назначенное лицо"
 
-#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:105
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
 msgid "Groups"
-msgstr ""
+msgstr "Группы"
 
-#: aleksis/apps/alsijil/models.py:485
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
-msgstr ""
+msgstr "Если нет точной конечной даты, можно оставить незаполненным"
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
-msgstr ""
+msgstr "Назначение роли группы"
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
-msgstr ""
+msgstr "Назначение ролей групп"
 
-#: aleksis/apps/alsijil/models.py:508
+#: aleksis/apps/alsijil/models.py:519
 msgid "Can view lesson overview"
-msgstr ""
+msgstr "Может просматривать обзор урока"
 
-#: aleksis/apps/alsijil/models.py:509
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
-msgstr ""
+msgstr "Может просматривать недельный обзор"
 
-#: aleksis/apps/alsijil/models.py:510
+#: aleksis/apps/alsijil/models.py:521
 msgid "Can view full register"
-msgstr ""
+msgstr "Может просматривать весь журнал"
 
-#: aleksis/apps/alsijil/models.py:511
+#: aleksis/apps/alsijil/models.py:522
 msgid "Can register absence"
-msgstr ""
+msgstr "Может регистрировать отсутствие"
 
-#: aleksis/apps/alsijil/models.py:512
+#: aleksis/apps/alsijil/models.py:523
 msgid "Can list all personal note filters"
-msgstr ""
+msgstr "Может просматривать все фильтры личных заметок"
 
 #: aleksis/apps/alsijil/preferences.py:17
 msgid "Block adding personal notes for cancelled lessons"
-msgstr ""
+msgstr "Блокировать добавление личных заметок к отмененным урокам"
 
 #: aleksis/apps/alsijil/preferences.py:25
 msgid "Allow users to view their own personal notes"
-msgstr ""
+msgstr "Разрешить пользователям просматривать свои личные заметки"
 
 #: aleksis/apps/alsijil/preferences.py:34
 msgid "Allow primary group owners to register future absences for students in their groups"
+msgstr "Разрешить владельцам основных групп регистрировать будущие пропуски студентов в своих группах"
+
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
-msgstr ""
+msgstr "Разрешить изначальным преподавателям редактировать свои уроки даже после их замены"
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
-msgstr ""
+msgstr "Переносить данные с первого урока в расписании на текущие уроки через несколько уроков"
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 msgid "This will carry over data only if the data in the following periods are empty."
-msgstr ""
+msgstr "Это перенесёт данные только в случае отсутствия данных в последующих уроках."
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+#, fuzzy
+#| msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr "Переносить данные с первого урока в расписании на текущие уроки через несколько уроков"
+
+#: aleksis/apps/alsijil/preferences.py:79
+#, fuzzy
+#| msgid "This will carry over data only if the data in the following periods are empty."
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr "Это перенесёт данные только в случае отсутствия данных в последующих уроках."
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
-msgstr ""
+msgstr "Переносить личные заметки на все последующие уроки того же дня."
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
-msgstr ""
+msgstr "Разрешить преподавателям открывать уроки в тот же день, а не только в начале уроков"
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
-msgstr ""
+msgstr "Эти настройки не влияют на прошлые уроки. Вы можете открывать их когда-угодно."
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 msgid "Allow teachers to add data for lessons in holidays"
-msgstr ""
+msgstr "Разрешить преподавателям добавлять учебный материал (данные для уроков) на выходных"
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
-msgstr ""
+msgstr "Разрешить владельцам групп назначать роли групп родителям участников групп"
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
-msgstr ""
+msgstr "Показать назначенные роли групп в недельном обзоре"
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
-msgstr ""
+msgstr "Только недельные обзоры групп"
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
-msgstr ""
+msgstr "Показать назначенные роли групп в обзоре урока"
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
-msgstr ""
+msgstr "Количество записей на страницу в таблице с расписанием"
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
-msgstr ""
+msgstr "Каждая страница должна содержать хотя бы одну строку."
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
-msgstr ""
+msgstr "По-умолчанию фильтровать уроки по наличию в них учебного материала"
 
 #: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
 #: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
-msgstr ""
+msgstr "Редактировать"
 
 #: aleksis/apps/alsijil/tables.py:96
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
-msgstr ""
+msgstr "Дата"
 
 #: aleksis/apps/alsijil/tables.py:99
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
-msgstr ""
+msgstr "Урок"
 
 #: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
-msgstr ""
+msgstr "Преподаватели"
 
 #: aleksis/apps/alsijil/tables.py:118
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
@@ -575,16 +594,16 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
-msgstr ""
+msgstr "Опоздание"
 
 #: aleksis/apps/alsijil/tables.py:119
 msgid "Excuse"
-msgstr ""
+msgstr "Объяснительная"
 
 #: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
-msgstr ""
+msgstr "{value}' задержка"
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:5
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
@@ -592,12 +611,12 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
-msgstr ""
+msgstr "Регистрация отсутствия"
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:5
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:6
 msgid "Confirm: Register absence"
-msgstr ""
+msgstr "Подтверждение: Регистрация отсутствия"
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:10
 msgid ""
@@ -605,6 +624,9 @@ msgid ""
 "      Do you really want to register the following absence?\n"
 "    "
 msgstr ""
+"\n"
+"      Вы действительно хотите зарегистрировать этот пропуск?\n"
+"    "
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:26
 msgid ""
@@ -613,11 +635,15 @@ msgid ""
 "                please double check the correctness of your entry.\n"
 "              "
 msgstr ""
+"\n"
+"                Поскольку пропуск дольше одного дня,\n"
+"                проверьте точность заполненных данных дважды.\n"
+"              "
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:35
 #, python-format
 msgid " %(count)s affected lessons "
-msgstr ""
+msgstr " %(count)s зависимых уроков "
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:40
 msgid ""
@@ -625,25 +651,28 @@ msgid ""
 "                  There are no affected lessons. Registering this absence won't have any effect.\n"
 "                "
 msgstr ""
+"\n"
+"                  Зависимых уроков нет. Регистрация пропуска ни на что не влияет.\n"
+"                "
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:57
 msgid "Reset status to 'not absent'"
-msgstr ""
+msgstr "Сбросить статус на 'не отсутствует'"
 
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:79
 msgid "Cancel"
-msgstr ""
+msgstr "Отменить"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:21
 msgid "Students"
-msgstr ""
+msgstr "Студенты"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:35
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:76
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:78
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:90
 msgid "Students list"
-msgstr ""
+msgstr "Список студентов"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
@@ -655,12 +684,12 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:35
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:6
 msgid "Week view"
-msgstr ""
+msgstr "Недельный обзор"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:45
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:90
 msgid "Roles"
-msgstr ""
+msgstr "Роли"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:51
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:98
@@ -671,52 +700,52 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:82
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:97
 msgid "Generate printout"
-msgstr ""
+msgstr "Подготовить к печати"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:59
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:104
 msgid "No groups available."
-msgstr ""
+msgstr "Группы недоступны."
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:71
 msgid "students"
-msgstr ""
+msgstr "студенты"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:5
 msgid "Lesson"
-msgstr ""
+msgstr "Урок"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 msgid "Persons"
-msgstr ""
+msgstr "Люди"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
 msgid "Seating plan"
-msgstr ""
+msgstr "План размещения"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 msgid "Previous"
-msgstr ""
+msgstr "Предыдущий"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
-msgstr ""
+msgstr "Ещё"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 msgid "My previous lesson"
-msgstr ""
+msgstr "Мой предыдущий урок"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 msgid "My next lesson"
-msgstr ""
+msgstr "Мой следующий урок"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
-msgstr ""
+msgstr "Следующий"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 msgid ""
@@ -724,15 +753,18 @@ msgid ""
 "                  This lesson overlaps with holidays and can't be edited.\n"
 "                "
 msgstr ""
+"\n"
+"                  Этот урок перекрывает выходные и его нельзя редактировать.\n"
+"                "
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:10
 msgid "Class register: person"
-msgstr ""
+msgstr "Классный журнал: лицо"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:18
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:10
 msgid "Back"
-msgstr ""
+msgstr "Назад"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:22
 #, python-format
@@ -741,39 +773,42 @@ msgid ""
 "      Class register overview for %(person)s\n"
 "    "
 msgstr ""
+"\n"
+"      Обзор классного журнала для %(person)s\n"
+"    "
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:50
 msgid "Statistics"
-msgstr ""
+msgstr "Статистика"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
-msgstr ""
+msgstr "Соответствующие личные заметки"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:68
 msgid "Filter personal notes"
-msgstr ""
+msgstr "Фильтровать личные заметки"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:73
 msgid "Clear all filters"
-msgstr ""
+msgstr "Очистить фильтры"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:76
 msgid "Close"
-msgstr ""
+msgstr "Закрыть"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:79
 msgid "Filter"
-msgstr ""
+msgstr "Фильтры"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:91
 msgid "Filter results"
-msgstr ""
+msgstr "Результат фильтров"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:119
 msgid "Statistics on absences, tardiness and remarks"
-msgstr ""
+msgstr "Статистика пропусков, опозданий и замечаний"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
@@ -782,39 +817,39 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
-msgstr ""
+msgstr "Пропуски"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
-msgstr ""
+msgstr "итак"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
 msgid "Without Excuse Type"
-msgstr ""
+msgstr "Без типа объяснительной"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
-msgstr ""
+msgstr "Без пояснений"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:5
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:12
 #, python-format
 msgid "Students list: %(group)s"
-msgstr ""
+msgstr "Список студентов: %(group)s"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:54
 msgid "Select"
-msgstr ""
+msgstr "Отметить"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:62
 msgid "Toggle filters"
-msgstr ""
+msgstr "Переключить фильтры"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:69
 #, python-format
@@ -822,31 +857,33 @@ msgid ""
 "CW %(week)s:\n"
 "      %(instance)s"
 msgstr ""
+"НД %(week)s:\n"
+"      %(instance)s"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:293
 msgid "Unfold"
-msgstr ""
+msgstr "Развернуть"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:360
 msgid "Visit lesson overview"
-msgstr ""
+msgstr "Обзор посещений урока"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:398
 msgid "unexcused"
-msgstr ""
+msgstr "без пояснений"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:401
 msgid "Summed up tardiness"
-msgstr ""
+msgstr "Суммированные опоздания"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 msgid "Count of tardiness"
-msgstr ""
+msgstr "Количество опозданий"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:436
 msgid "No lessons available"
-msgstr ""
+msgstr "Нет доступных уроков"
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439
 msgid ""
@@ -854,17 +891,20 @@ msgid ""
 "            There are no lessons for the selected group or teacher in this week.\n"
 "          "
 msgstr ""
+"\n"
+"            Для выбранной группы или преподавателя на этой неделе уроков нет.\n"
+"          "
 
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html:6
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html:7
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:18
 msgid "Create excuse type"
-msgstr ""
+msgstr "Создать тип объяснительной"
 
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html:6
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html:7
 msgid "Edit excuse type"
-msgstr ""
+msgstr "Редактировать тип объяснительной"
 
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/warning.html:4
 #: aleksis/apps/alsijil/templates/alsijil/group_role/warning.html:4
@@ -874,74 +914,78 @@ msgid ""
 "    Don't use this to create a default excuse or if you don't divide between different types of excuse.\n"
 "  "
 msgstr ""
+"\n"
+"    Эта функция используется только для определения альтернатив к объяснительным по-умолчанию, которые тоже будут учтены.\n"
+"    Не используйте этот функционал для создания объяснительной по-умолчанию или если не ведёте разделение по типам.\n"
+"  "
 
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/create.html:6
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/create.html:7
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:14
 msgid "Create extra mark"
-msgstr ""
+msgstr "Создать дополнительную отметку"
 
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/edit.html:6
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/edit.html:7
 msgid "Edit extra mark"
-msgstr ""
+msgstr "Редактировать дополнительную отметку"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:16
 #, python-format
 msgid "Assign group role for %(group)s"
-msgstr ""
+msgstr "Назначить роль группы для %(group)s"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assign.html:34
 msgid "Assign"
-msgstr ""
+msgstr "Назначить"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:12
 #, python-format
 msgid "Group roles for %(group)s"
-msgstr ""
+msgstr "Роли групп для %(group)s"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:28
 msgid "Back to my groups"
-msgstr ""
+msgstr "Назад к моим группам"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:36
 msgid "Assign a role to a person"
-msgstr ""
+msgstr "Назначить роль лицу"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:45
 msgid "Current roles"
-msgstr ""
+msgstr "Текущие роли"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:48
 msgid "All assignments"
-msgstr ""
+msgstr "Все назначения"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:66
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:83
 msgid "Actions"
-msgstr ""
+msgstr "Действия"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/create.html:6
 #: aleksis/apps/alsijil/templates/alsijil/group_role/create.html:7
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:16
 msgid "Create group role"
-msgstr ""
+msgstr "Создать роль группы"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/edit.html:6
 #: aleksis/apps/alsijil/templates/alsijil/group_role/edit.html:7
 msgid "Edit group role"
-msgstr ""
+msgstr "Редактировать роль группы"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/edit_assignment.html:7
 #: aleksis/apps/alsijil/templates/alsijil/group_role/edit_assignment.html:8
 msgid "Edit group role assignment"
-msgstr ""
+msgstr "Редактировать назначение роли группы"
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html:31
 msgid "No one assigned."
-msgstr ""
+msgstr "Никто не назначен."
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html:41
 msgid ""
@@ -950,14 +994,18 @@ msgid ""
 "    corresponding person.\n"
 "  "
 msgstr ""
+"\n"
+"    Вы можете получить некоторые дополнительные действия для каждого назначения роли группы после клика\n"
+"     на имя соответствующего лица.\n"
+"  "
 
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:21
 msgid "Stop"
-msgstr ""
+msgstr "Стоп"
 
 #: aleksis/apps/alsijil/templates/alsijil/notifications/check.html:1
 msgid "Please check if the following class register entries are complete and correct:"
-msgstr ""
+msgstr "Проверьте, пожалуйста, эти записи в классном журнале на полноту и корректность:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
@@ -965,7 +1013,7 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
-msgstr ""
+msgstr "(о)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
@@ -973,51 +1021,51 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
-msgstr ""
+msgstr "(н)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:4
 msgid "Legend"
-msgstr ""
+msgstr "Легенда"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:7
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:71
 msgid "General"
-msgstr ""
+msgstr "Общее"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
 msgid "(a)"
-msgstr ""
+msgstr "(о)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 msgid "Unexcused absences"
-msgstr ""
+msgstr "Отсутствие без пояснений"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
 msgid "Sum (e)"
-msgstr ""
+msgstr "Сумма (п)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
 msgid "Sum of excused absences"
-msgstr ""
+msgstr "Количество пропусков с объяснительной"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
 msgid "Regular excused absences"
-msgstr ""
+msgstr "Регулярные обоснованные пропуски"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
 msgid "Excuse types (not counted as absent)"
-msgstr ""
+msgstr "Типы объяснительных (не учитываются как пропуски)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:42
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:7
 #, python-format
 msgid "%(period)s. period"
-msgstr ""
+msgstr "%(period)s. урок"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:31
 #, python-format
@@ -1026,12 +1074,15 @@ msgid ""
 "            %(period_from)s.–%(period_to)s.  period\n"
 "          "
 msgstr ""
+"\n"
+"            %(period_from)s.–%(period_to)s.  уроки\n"
+"          "
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
-msgstr ""
+msgstr "Сохранить"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:19
 #, python-format
@@ -1040,6 +1091,9 @@ msgid ""
 "        Previous %(subject)s lesson\n"
 "      "
 msgstr ""
+"\n"
+"        Предыдущий урок %(subject)s\n"
+"      "
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:30
 #, python-format
@@ -1048,38 +1102,41 @@ msgid ""
 "        Next %(subject)s lesson\n"
 "      "
 msgstr ""
+"\n"
+"        Следующий урок %(subject)s\n"
+"      "
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html:13
 msgid "Change history"
-msgstr ""
+msgstr "Изменить историю"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 msgid "Tardiness (in m)"
-msgstr ""
+msgstr "Опоздания (мин)"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:6
 msgid "Overview: Previous lesson"
-msgstr ""
+msgstr "Обзор: Предыдущий урок"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:13
 msgid "Lesson topic of previous lesson:"
-msgstr ""
+msgstr "Тема предыдущего урока:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:20
 msgid "Homework for this lesson:"
-msgstr ""
+msgstr "Домашняя работа на этот урок:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:27
 msgid "Group notes for previous lesson:"
-msgstr ""
+msgstr "Заметки группы на предыдущем уроке:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:34
 msgid "Absent persons:"
-msgstr ""
+msgstr "Отсутствуют:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html:41
 msgid "Late persons:"
-msgstr ""
+msgstr "Опоздали:"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
 #, python-format
@@ -1087,6 +1144,8 @@ msgid ""
 "Seating plan for %(group)s in\n"
 "          %(room)s"
 msgstr ""
+"План размещения %(group)s в\n"
+"          %(room)s"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
 #, python-format
@@ -1096,18 +1155,22 @@ msgid ""
 "            If you want, you can take it over for your group and then customize it.\n"
 "          "
 msgstr ""
+"\n"
+"            Этот план размещения взят из родительской группы %(child_group)s.\n"
+"            При необходимости Вы можете настроить его под свою группу.\n"
+"          "
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
 msgid "Edit seating plan"
-msgstr ""
+msgstr "Редактировать план размещения"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
 msgid "Copy plan and edit"
-msgstr ""
+msgstr "Скопировать план и отредактировать"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
 msgid "There is no seating plan for this lesson."
-msgstr ""
+msgstr "Для этого урока нет плана размещения."
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
 #, python-format
@@ -1116,6 +1179,9 @@ msgid ""
 "                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
 "                "
 msgstr ""
+"\n"
+"                  Создать новый план размещения %(group)s (%(subject)s) в %(room)s\n"
+"                "
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
 #, python-format
@@ -1124,87 +1190,90 @@ msgid ""
 "                    Create a new seating plan for %(group)s in %(room)s\n"
 "                  "
 msgstr ""
+"\n"
+"                    Создать новый план размещения %(group)s в %(room)s\n"
+"                  "
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
-msgstr ""
+msgstr "Данные заполнены"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:17
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:30
 msgid "Missing data"
-msgstr ""
+msgstr "Пропущены данные"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:19
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:32
 msgid "Pending"
-msgstr ""
+msgstr "В ожидании"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
-msgstr ""
+msgstr "Урок отменён"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:34
 msgid "Substitution"
-msgstr ""
+msgstr "Замена"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:4
 msgid "Lesson filter"
-msgstr ""
+msgstr "Фильтр уроков"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:9
 msgid "Update filters"
-msgstr ""
+msgstr "Обновить фильтры"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:22
 msgid "Lesson table"
-msgstr ""
+msgstr "Расписание уроков"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/objects_table.html:31
 msgid "Execute"
-msgstr ""
+msgstr "Выполнить"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:6
 msgid "No students available."
-msgstr ""
+msgstr "Нет доступных студентов."
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 msgid "Primary group"
-msgstr ""
+msgstr "Основная группа"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
 msgid "Uncounted Absences"
-msgstr ""
+msgstr "Неучтённые пропуски"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
-msgstr ""
+msgstr "Сумма"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
 msgid "Regular excused"
-msgstr ""
+msgstr "Регулярные обоснования"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
-msgstr ""
+msgstr "Показать более детально"
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
-msgstr ""
+msgstr "Детали"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:6
 msgid "Class register:"
-msgstr ""
+msgstr "Классный журнал:"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:26
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:59
 msgid "Owners"
-msgstr ""
+msgstr "Владельцы"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:30
 msgid "Printed on"
-msgstr ""
+msgstr "Распечатано"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:38
 msgid ""
@@ -1214,6 +1283,11 @@ msgid ""
 "        System.\n"
 "      "
 msgstr ""
+"\n"
+"        Этот печатный экземпляр сделан для архивных нужд. Основная копия\n"
+"        этого классного журнала хранится в учебно-информационной\n"
+"         системе AlekSIS.\n"
+"      "
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:45
 msgid ""
@@ -1223,6 +1297,11 @@ msgid ""
 "        school.\n"
 "      "
 msgstr ""
+"\n"
+"        Копии этого классного журнала, в т.ч. цифровые и печатные, должны\n"
+"        храниться только внутри учебного заведения и/или на устройствах,\n"
+"        разрешённых администрацией учебного заведения.\n"
+"      "
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:52
 msgid ""
@@ -1231,207 +1310,211 @@ msgid ""
 "        well as the correctness of this printout.\n"
 "      "
 msgstr ""
+"\n"
+"        Владелец группы и директор подтверждают указанное выше, \n"
+"        а также правильность этой распечатки.\n"
+"      "
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:62
 msgid "Headteacher"
-msgstr ""
+msgstr "Завуч"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:69
 msgid "Abbreviations"
-msgstr ""
+msgstr "Сокращения"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:78
 msgid "Late"
-msgstr ""
+msgstr "Опоздания"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:89
 msgid "Custom excuse types"
-msgstr ""
+msgstr "Пользовательские типы объяснительных"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
 msgid "Custom excuse types (not counted as absent)"
-msgstr ""
+msgstr "Пользовательские типы объяснительных (не учтённые как пропуски)"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
-msgstr ""
+msgstr "Доступные дополнительные отметки"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
-msgstr ""
+msgstr "Лица в группе"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
-msgstr ""
+msgstr "â„–"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
-msgstr ""
+msgstr "Фамилия"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
-msgstr ""
+msgstr "Имя"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
-msgstr ""
+msgstr "Пол"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
-msgstr ""
+msgstr "Дата рождения"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
-msgstr ""
+msgstr "(о)"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
-msgstr ""
+msgstr "Преподаватели и уроки в группе"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
-msgstr ""
+msgstr "Начало урока"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
-msgstr ""
+msgstr "Конец урока"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
-msgstr ""
+msgstr "На неделю"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 msgid "Teachers and lessons in child groups"
-msgstr ""
+msgstr "Преподаватели и уроки в подчинённых групах"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
-msgstr ""
+msgstr "Личный обзор"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
-msgstr ""
+msgstr "Контактные данные"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
-msgstr ""
+msgstr "Пропуски и опоздания"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
 msgid "Without excuse type"
-msgstr ""
+msgstr "Без типа объяснительной"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
-msgstr ""
+msgstr "Ур."
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
-msgstr ""
+msgstr "Предм."
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
-msgstr ""
+msgstr "Пр."
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
-msgstr ""
+msgstr "Оп."
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
-msgstr ""
+msgstr "Да"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:484
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:499
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
-msgstr ""
+msgstr "у"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 msgid "Week"
-msgstr ""
+msgstr "Неделя"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
-msgstr ""
+msgstr "Заметки"
 
 #: aleksis/apps/alsijil/views.py:118
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
-msgstr ""
+msgstr "Вы или выбрали неправильный урок, или сейчас урока нет."
 
 #: aleksis/apps/alsijil/views.py:151
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
-msgstr ""
+msgstr "Вам нельзя создавать учебные материалы для уроков в будущем."
 
-#: aleksis/apps/alsijil/views.py:266
+#: aleksis/apps/alsijil/views.py:268
 msgid "The lesson documentation has been saved."
-msgstr ""
+msgstr "Учебный материал сохранён."
 
-#: aleksis/apps/alsijil/views.py:300
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
-msgstr ""
+msgstr "Личные заметки сохранены."
 
-#: aleksis/apps/alsijil/views.py:1079
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
-msgstr ""
+msgstr "Отсутствие сохранено."
 
-#: aleksis/apps/alsijil/views.py:1100
+#: aleksis/apps/alsijil/views.py:1140
 msgid "The personal note has been deleted."
-msgstr ""
+msgstr "Личная заметка удалена."
 
-#: aleksis/apps/alsijil/views.py:1122
+#: aleksis/apps/alsijil/views.py:1162
 msgid "The extra mark has been created."
-msgstr ""
+msgstr "Дополнительная отметка создана."
 
-#: aleksis/apps/alsijil/views.py:1134
+#: aleksis/apps/alsijil/views.py:1174
 msgid "The extra mark has been saved."
-msgstr ""
+msgstr "Дополнительная отметка сохранена."
 
-#: aleksis/apps/alsijil/views.py:1145
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
-msgstr ""
+msgstr "Дополнительная отметка удалена."
 
-#: aleksis/apps/alsijil/views.py:1166
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
-msgstr ""
+msgstr "Тип объяснительной создан."
 
-#: aleksis/apps/alsijil/views.py:1178
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
-msgstr ""
+msgstr "Тип объяснительной сохранён."
 
-#: aleksis/apps/alsijil/views.py:1189
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
-msgstr ""
+msgstr "Тип объяснительной удалён."
 
-#: aleksis/apps/alsijil/views.py:1210
+#: aleksis/apps/alsijil/views.py:1250
 msgid "The group role has been created."
-msgstr ""
+msgstr "Роль группы создана."
 
-#: aleksis/apps/alsijil/views.py:1222
+#: aleksis/apps/alsijil/views.py:1262
 msgid "The group role has been saved."
-msgstr ""
+msgstr "Роль группы сохранена."
 
-#: aleksis/apps/alsijil/views.py:1233
+#: aleksis/apps/alsijil/views.py:1273
 msgid "The group role has been deleted."
-msgstr ""
+msgstr "Роль группы удалена."
 
-#: aleksis/apps/alsijil/views.py:1266 aleksis/apps/alsijil/views.py:1298
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 msgid "The group role has been assigned."
-msgstr ""
+msgstr "Роль группы назначена."
 
-#: aleksis/apps/alsijil/views.py:1317
+#: aleksis/apps/alsijil/views.py:1357
 msgid "The group role assignment has been saved."
-msgstr ""
+msgstr "Назначение роли группы сохранено."
 
-#: aleksis/apps/alsijil/views.py:1338
+#: aleksis/apps/alsijil/views.py:1378
 msgid "The group role assignment has been stopped."
-msgstr ""
+msgstr "Назначение роли группы остановлено."
 
-#: aleksis/apps/alsijil/views.py:1351
+#: aleksis/apps/alsijil/views.py:1391
 msgid "The group role assignment has been deleted."
-msgstr ""
+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 0f75a14f7e9b4a4ec0b20f5fe915794fbb6aa540..90e59955ce06421fc74620937eb7c06cce05da2b 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: 2021-12-24 13:24+0100\n"
+"POT-Creation-Date: 2022-06-25 15:28+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"
@@ -31,7 +31,7 @@ msgid "Mark as {excuse_type.name}"
 msgstr ""
 
 #: aleksis/apps/alsijil/actions.py:48 aleksis/apps/alsijil/tables.py:29
-#: aleksis/apps/alsijil/tables.py:49 aleksis/apps/alsijil/tables.py:74
+#: aleksis/apps/alsijil/tables.py:53 aleksis/apps/alsijil/tables.py:78
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:29
 msgid "Delete"
 msgstr ""
@@ -101,28 +101,28 @@ msgstr ""
 msgid "The personal note is marked as excused, but not as absent."
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:10
+#: aleksis/apps/alsijil/filters.py:12
 msgid "After"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:11
+#: aleksis/apps/alsijil/filters.py:13
 msgid "Before"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:12 aleksis/apps/alsijil/forms.py:302
-#: aleksis/apps/alsijil/tables.py:107
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
+#: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:169
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:200
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
 msgid "Subject"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:16
+#: aleksis/apps/alsijil/filters.py:30
 msgid "Tardiness is lower than"
 msgstr ""
 
-#: aleksis/apps/alsijil/filters.py:17
+#: aleksis/apps/alsijil/filters.py:31
 msgid "Tardiness is bigger than"
 msgstr ""
 
@@ -130,100 +130,104 @@ msgstr ""
 msgid "Homework for the next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
-#: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:199
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:79
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:170
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:201
+#: aleksis/apps/alsijil/forms.py:104
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
 msgid "Teacher"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121
 msgid "You can't select a group and a teacher both."
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
-#: aleksis/apps/alsijil/models.py:471
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
-#: aleksis/apps/alsijil/models.py:475
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194
 msgid "Start period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195
 msgid "End period"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:108
-#: aleksis/apps/alsijil/tables.py:129
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:312
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
 msgid "Absent"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:137
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:72
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:275
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
 msgid "Excused"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:62
-#: aleksis/apps/alsijil/models.py:236
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:72
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
 msgid "Excuse type"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:162
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:93
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:314
+#: aleksis/apps/alsijil/forms.py:204
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
 msgid "Remarks"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346
 msgid "School term"
 msgstr ""
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347
 msgid "Has lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:121
+#: aleksis/apps/alsijil/managers.py:88 aleksis/apps/alsijil/tables.py:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:176
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:240
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:316
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:50
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:335
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:415
-#: aleksis/apps/alsijil/util/alsijil_helpers.py:315
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 msgid "Event"
 msgstr ""
 
@@ -268,21 +272,21 @@ msgstr ""
 msgid "All lessons"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:63
+#: aleksis/apps/alsijil/menus.py:93 aleksis/apps/alsijil/models.py:72
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:30
 msgid "Excuse types"
 msgstr ""
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:241
-#: aleksis/apps/alsijil/models.py:423 aleksis/apps/alsijil/tables.py:111
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
-#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:17
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:293
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
 msgid "Extra marks"
 msgstr ""
 
@@ -330,52 +334,60 @@ msgstr ""
 msgid "Can register an absence for a person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:410
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
 msgid "Short name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:411
-#: aleksis/apps/alsijil/models.py:435
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
 msgid "Name"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:216 aleksis/apps/alsijil/models.py:315
+#: aleksis/apps/alsijil/models.py:55 aleksis/apps/alsijil/tables.py:41
+msgid "Count as absent"
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:57
+msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgstr ""
+
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 msgid "Year"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:275
+#: aleksis/apps/alsijil/models.py:292
 msgid "Personal note"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:276
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:18
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
 msgid "Personal notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:327
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
 msgid "Lesson topic"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:328
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:382
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
 msgid "Homework"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:329
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
@@ -383,85 +395,85 @@ msgstr ""
 msgid "Group note"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:376
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
 msgid "Lesson documentation"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:377
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
 msgid "Lesson documentations"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:422
+#: aleksis/apps/alsijil/models.py:442
 msgid "Extra mark"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:436
+#: aleksis/apps/alsijil/models.py:456
 msgid "Icon"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:437
+#: aleksis/apps/alsijil/models.py:457
 msgid "Colour"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/models.py:458
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
 msgid "Group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
 msgid "Group roles"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:448
+#: aleksis/apps/alsijil/models.py:468
 msgid "Can assign group role"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:464
+#: aleksis/apps/alsijil/models.py:484
 msgid "Assigned person"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:469 aleksis/apps/alsijil/tables.py:98
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:476
+#: aleksis/apps/alsijil/models.py:496
 msgid "Can be left empty if end date is not clear yet"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/models.py:511
 msgid "Group role assignment"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:492
+#: aleksis/apps/alsijil/models.py:512
 msgid "Group role assignments"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:499
+#: aleksis/apps/alsijil/models.py:519
 msgid "Can view lesson overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:520
 msgid "Can view week overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:521
 msgid "Can view full register"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:502
+#: aleksis/apps/alsijil/models.py:522
 msgid "Can register absence"
 msgstr ""
 
-#: aleksis/apps/alsijil/models.py:503
+#: aleksis/apps/alsijil/models.py:523
 msgid "Can list all personal note filters"
 msgstr ""
 
@@ -477,101 +489,113 @@ msgstr ""
 msgid "Allow primary group owners to register future absences for students in their groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:43
+#: aleksis/apps/alsijil/preferences.py:44
+msgid "Grant the owner of a parent group the same privileges as the owners of the respective child groups"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:54
 msgid "Allow original teachers to edit their lessons although they are substituted"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:52
+#: aleksis/apps/alsijil/preferences.py:63
 msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:55
+#: aleksis/apps/alsijil/preferences.py:66
 msgid "This will carry over data only if the data in the following periods are empty."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:63
+#: aleksis/apps/alsijil/preferences.py:75
+msgid "Allow carrying over data from any lesson period to all other lesson                 periods with the same lesson and in the same week"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:79
+msgid "This will carry over data only if the data in the aforementioned periods are empty."
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:88
 msgid "Carry over personal notes to all following lesson periods on the same day."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:72
+#: aleksis/apps/alsijil/preferences.py:97
 msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:76
+#: aleksis/apps/alsijil/preferences.py:101
 msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:85
+#: aleksis/apps/alsijil/preferences.py:110
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:94
+#: aleksis/apps/alsijil/preferences.py:119
 msgid "Allow group owners to assign group roles to the parents of the group's members"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:103
+#: aleksis/apps/alsijil/preferences.py:128
 msgid "Show assigned group roles in week view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:104
+#: aleksis/apps/alsijil/preferences.py:129
 msgid "Only week view of groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:112
+#: aleksis/apps/alsijil/preferences.py:137
 msgid "Show assigned group roles in lesson view"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:122
+#: aleksis/apps/alsijil/preferences.py:147
 msgid "Items per page in lessons table"
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:126
+#: aleksis/apps/alsijil/preferences.py:151
 msgid "Each page must show at least one item."
 msgstr ""
 
-#: aleksis/apps/alsijil/preferences.py:134
+#: aleksis/apps/alsijil/preferences.py:159
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:43
-#: aleksis/apps/alsijil/tables.py:68
+#: aleksis/apps/alsijil/tables.py:23 aleksis/apps/alsijil/tables.py:47
+#: aleksis/apps/alsijil/tables.py:72
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assignment_options.html:13
 msgid "Edit"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:92
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:308
+#: aleksis/apps/alsijil/tables.py:96
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:348
 msgid "Date"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:95
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:17
+#: aleksis/apps/alsijil/tables.py:99
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:21
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:126
 msgid "Period"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:103
+#: aleksis/apps/alsijil/tables.py:111
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:131
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:257
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:336
 msgid "Teachers"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:109
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:146
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:32
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:89
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:287
+#: aleksis/apps/alsijil/tables.py:118
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:160
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:30
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:16
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:39
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:114
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:323
 msgid "Tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:110
+#: aleksis/apps/alsijil/tables.py:119
 msgid "Excuse"
 msgstr ""
 
-#: aleksis/apps/alsijil/tables.py:147
+#: aleksis/apps/alsijil/tables.py:156
 #, python-brace-format
 msgid "{value}' late"
 msgstr ""
@@ -580,7 +604,7 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:6
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:30
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:385
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:113
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:138
 msgid "Register absence"
 msgstr ""
 
@@ -637,8 +661,8 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:39
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:82
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:60
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:69
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:72
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:27
 #: aleksis/apps/alsijil/templates/alsijil/class_register/persons.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html:16
@@ -676,35 +700,39 @@ msgstr ""
 msgid "Lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:24
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:28
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:27
 msgid "Persons"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:34
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:82
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:36
+msgid "Seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:46
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:94
 msgid "Previous"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:42
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:54
 msgid "More"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:75
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:81
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:87
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
 msgid "My previous lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:86
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:92
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:98
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:104
 msgid "My next lesson"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:93
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:105
 msgid "Next"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:143
+#: aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html:161
 msgid ""
 "\n"
 "                  This lesson overlaps with holidays and can't be edited.\n"
@@ -733,7 +761,7 @@ msgid "Statistics"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:65
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:304
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:344
 msgid "Relevant personal notes"
 msgstr ""
 
@@ -764,21 +792,27 @@ msgstr ""
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:128
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:14
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:67
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:269
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:80
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:291
 msgid "Absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:132
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:274
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:138
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:296
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:302
 msgid "thereof"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:142
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:84
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:140
+msgid "Without Excuse Type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:150
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:102
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:81
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:283
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
 msgid "Unexcused"
 msgstr ""
 
@@ -820,7 +854,7 @@ msgid "Summed up tardiness"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:404
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:92
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:117
 msgid "Count of tardiness"
 msgstr ""
 
@@ -940,16 +974,18 @@ msgid "Please check if the following class register entries are complete and cor
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:25
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:42
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:126
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:27
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:50
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:139
 msgid "(e)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/absences.html:6
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:31
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:130
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:33
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:56
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:143
 msgid "(u)"
 msgstr ""
 
@@ -962,12 +998,32 @@ msgstr ""
 msgid "General"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:10
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:137
+msgid "(a)"
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:14
 msgid "Unexcused absences"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
-msgid "Excused absences"
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:26
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:49
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:138
+msgid "Sum (e)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:18
+msgid "Sum of excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:22
+msgid "Regular excused absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:41
+msgid "Excuse types (not counted as absent)"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html:28
@@ -987,7 +1043,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html:8
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:10
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:135
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:136
 msgid "Save"
 msgstr ""
 
@@ -1011,7 +1067,7 @@ msgstr ""
 msgid "Change history"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:58
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:59
 msgid "Tardiness (in m)"
 msgstr ""
 
@@ -1039,6 +1095,50 @@ msgstr ""
 msgid "Late persons:"
 msgstr ""
 
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:8
+#, python-format
+msgid ""
+"Seating plan for %(group)s in\n"
+"          %(room)s"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:14
+#, python-format
+msgid ""
+"\n"
+"            This seating plan is taken from the parent group of %(child_group)s.\n"
+"            If you want, you can take it over for your group and then customize it.\n"
+"          "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:30
+msgid "Edit seating plan"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:37
+msgid "Copy plan and edit"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:56
+msgid "There is no seating plan for this lesson."
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:64
+#, python-format
+msgid ""
+"\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                "
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html:78
+#, python-format
+msgid ""
+"\n"
+"                    Create a new seating plan for %(group)s in %(room)s\n"
+"                  "
+msgstr ""
+
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:6
 msgid "Data complete"
 msgstr ""
@@ -1054,7 +1154,7 @@ msgid "Pending"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:28
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:426
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:466
 msgid "Lesson cancelled"
 msgstr ""
 
@@ -1083,19 +1183,27 @@ msgid "No students available."
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:13
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:24
 msgid "Primary group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:41
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:15
+msgid "Uncounted Absences"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:48
 msgid "Sum"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:105
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:90
+msgid "Regular excused"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:130
 msgid "Show more details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:106
+#: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:131
 msgid "Details"
 msgstr ""
 
@@ -1155,185 +1263,189 @@ msgid "Custom excuse types"
 msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:101
+msgid "Custom excuse types (not counted as absent)"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:113
 msgid "Available extra marks"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:115
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:127
 msgid "Persons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:120
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:132
 msgid "No."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:121
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:133
 msgid "Last name"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:122
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:134
 msgid "First name"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:123
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:135
 msgid "Sex"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:124
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:136
 msgid "Date of birth"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:125
-msgid "(a)"
-msgstr ""
-
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:131
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:147
 msgid "(b)"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:164
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:184
 msgid "Teachers and lessons in group"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:171
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:202
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:191
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:222
 msgid "Lesson start"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:172
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:203
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:192
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:223
 msgid "Lesson end"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:173
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:204
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:193
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:224
 msgid "Per week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:194
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:214
 msgid "Teachers and lessons in child groups"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:227
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:247
 msgid "Personal overview"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:229
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:249
 msgid "Contact details"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:266
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:288
 msgid "Absences and tardiness"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:309
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:379
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:303
+msgid "Without excuse type"
+msgstr ""
+
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:349
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:419
 msgid "Pe."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:310
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:380
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:350
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:420
 msgid "Subj."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:311
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:384
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:351
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:424
 msgid "Te."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:313
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:353
 msgid "Tard."
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:341
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:381
 msgid "Yes"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:346
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:444
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:459
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 msgid "e"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:373
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:413
 msgid "Week"
 msgstr ""
 
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:383
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:423
 msgid "Notes"
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:117
+#: aleksis/apps/alsijil/views.py:118
 msgid "You either selected an invalid lesson or there is currently no lesson in progress."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:150
+#: aleksis/apps/alsijil/views.py:151
 msgid "You are not allowed to create a lesson documentation for a lesson in the future."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:246
+#: aleksis/apps/alsijil/views.py:268
 msgid "The lesson documentation has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:280
+#: aleksis/apps/alsijil/views.py:302
 msgid "The personal notes have been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1049
+#: aleksis/apps/alsijil/views.py:1119
 msgid "The absence has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1070
+#: aleksis/apps/alsijil/views.py:1140
 msgid "The personal note has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1092
+#: aleksis/apps/alsijil/views.py:1162
 msgid "The extra mark has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1104
+#: aleksis/apps/alsijil/views.py:1174
 msgid "The extra mark has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1115
+#: aleksis/apps/alsijil/views.py:1185
 msgid "The extra mark has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1136
+#: aleksis/apps/alsijil/views.py:1206
 msgid "The excuse type has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1148
+#: aleksis/apps/alsijil/views.py:1218
 msgid "The excuse type has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1159
+#: aleksis/apps/alsijil/views.py:1229
 msgid "The excuse type has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1180
+#: aleksis/apps/alsijil/views.py:1250
 msgid "The group role has been created."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1192
+#: aleksis/apps/alsijil/views.py:1262
 msgid "The group role has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1203
+#: aleksis/apps/alsijil/views.py:1273
 msgid "The group role has been deleted."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1236 aleksis/apps/alsijil/views.py:1268
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 msgid "The group role has been assigned."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1287
+#: aleksis/apps/alsijil/views.py:1357
 msgid "The group role assignment has been saved."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1308
+#: aleksis/apps/alsijil/views.py:1378
 msgid "The group role assignment has been stopped."
 msgstr ""
 
-#: aleksis/apps/alsijil/views.py:1321
+#: aleksis/apps/alsijil/views.py:1391
 msgid "The group role assignment has been deleted."
 msgstr ""
diff --git a/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po b/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po
index 9375b86c3d4dd90ab2cd0f6e76eebad2b5e65b9f..492eae9e8cdbe0dc7d9b8dc1b6f357ccab9e7620 100644
--- a/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po
+++ b/aleksis/apps/alsijil/locale/uk/LC_MESSAGES/django.po
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-04-23 12:35+0000\n"
-"PO-Revision-Date: 2022-05-18 23:27+0000\n"
+"POT-Creation-Date: 2022-06-25 15:28+0200\n"
+"PO-Revision-Date: 2022-06-22 19:59+0000\n"
 "Last-Translator: Serhii Horichenko <m@sgg.im>\n"
 "Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/"
 "aleksis-app-alsijil/uk/>\n"
@@ -16,10 +16,10 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 "
-"? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > "
-"14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % "
-"100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != "
+"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % "
+"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || "
+"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
 "X-Generator: Weblate 4.12.1\n"
 
 #: aleksis/apps/alsijil/actions.py:18
@@ -43,11 +43,13 @@ msgstr "Видалити"
 
 #: aleksis/apps/alsijil/actions.py:68
 msgid "{} asks you to check some class register entries."
-msgstr "{} просить тебе перевірити деякі записи класного журналу."
+msgstr "{} просить Вас перевірити деякі записи класного журналу."
 
 #: aleksis/apps/alsijil/actions.py:86
 #, python-brace-format
-msgid "We have successfully sent notifications to {count_teachers} persons for {count_items} lessons."
+msgid ""
+"We have successfully sent notifications to {count_teachers} persons for "
+"{count_items} lessons."
 msgstr ""
 "Ми надіслали сповіщення для {count_teachers} осіб щодо {count_items} уроків."
 
@@ -82,7 +84,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/data_checks.py:74
 msgid "The personal note has no group in 'groups_of_person'."
-msgstr "Ця особиста нотатка не має групи у \"групі_осіб\"."
+msgstr "Ця особиста нотатка не має групи у \"групах_осіб\"."
 
 #: aleksis/apps/alsijil/data_checks.py:99
 msgid "Ensure that there are no filled out lesson documentations on holidays"
@@ -90,7 +92,7 @@ msgstr "Переконайтеся, що на вихідні немає запо
 
 #: aleksis/apps/alsijil/data_checks.py:100
 msgid "The lesson documentation is on holidays."
-msgstr "Цей учбовий матеріал є на вихідних."
+msgstr "На вихідних є учбовий матеріал."
 
 #: aleksis/apps/alsijil/data_checks.py:133
 msgid "Ensure that there are no filled out personal notes on holidays"
@@ -102,7 +104,8 @@ msgstr "Ці особисті нотатки є на вихідних."
 
 #: aleksis/apps/alsijil/data_checks.py:162
 msgid "Ensure that there are no excused personal notes without an absence"
-msgstr "Переконайтеся, що немає особистих нотаток щодо пояснення без пропусків"
+msgstr ""
+"Переконайтеся, що немає особистих нотаток щодо пояснення без відсутності"
 
 #: aleksis/apps/alsijil/data_checks.py:163
 msgid "The personal note is marked as excused, but not as absent."
@@ -116,12 +119,13 @@ msgstr "Після"
 msgid "Before"
 msgstr "Перед"
 
-#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:302
+#: aleksis/apps/alsijil/filters.py:14 aleksis/apps/alsijil/forms.py:349
 #: aleksis/apps/alsijil/tables.py:116
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:130
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:227
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:189
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:220
+#: aleksis/apps/alsijil/forms.py:302
 msgid "Subject"
 msgstr "Предмет"
 
@@ -137,88 +141,104 @@ msgstr "Запізнення більше ніж на"
 msgid "Homework for the next lesson"
 msgstr "Домашня робота на наступний урок"
 
+#: aleksis/apps/alsijil/forms.py:53
+msgid "Carry over data to all other lessons with the same subject in this week"
+msgstr ""
+
+#: aleksis/apps/alsijil/forms.py:98 aleksis/apps/alsijil/forms.py:256
+#: aleksis/apps/alsijil/forms.py:348
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 #: aleksis/apps/alsijil/forms.py:73 aleksis/apps/alsijil/forms.py:214
 #: aleksis/apps/alsijil/forms.py:301
-#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:219
 msgid "Group"
 msgstr "Група"
 
-#: aleksis/apps/alsijil/forms.py:79
+#: aleksis/apps/alsijil/forms.py:104
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:190
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:221
+#: aleksis/apps/alsijil/forms.py:79
 msgid "Teacher"
 msgstr "Викладач"
 
-#: aleksis/apps/alsijil/forms.py:96
+#: aleksis/apps/alsijil/forms.py:121 aleksis/apps/alsijil/forms.py:96
 msgid "You can't select a group and a teacher both."
 msgstr "Ви не можете обрати одночасно групу та викладача."
 
+#: aleksis/apps/alsijil/forms.py:192 aleksis/apps/alsijil/forms.py:350
+#: aleksis/apps/alsijil/models.py:491
+#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 #: aleksis/apps/alsijil/forms.py:150 aleksis/apps/alsijil/forms.py:303
 #: aleksis/apps/alsijil/models.py:480
-#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:64
 msgid "Start date"
 msgstr "Дата початку"
 
+#: aleksis/apps/alsijil/forms.py:193 aleksis/apps/alsijil/forms.py:351
+#: aleksis/apps/alsijil/models.py:495
+#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 #: aleksis/apps/alsijil/forms.py:151 aleksis/apps/alsijil/forms.py:304
 #: aleksis/apps/alsijil/models.py:484
-#: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:65
 msgid "End date"
 msgstr "Дата закінчення"
 
-#: aleksis/apps/alsijil/forms.py:152
+#: aleksis/apps/alsijil/forms.py:194 aleksis/apps/alsijil/forms.py:152
 msgid "Start period"
 msgstr "Початок уроків"
 
-#: aleksis/apps/alsijil/forms.py:153
+#: aleksis/apps/alsijil/forms.py:195 aleksis/apps/alsijil/forms.py:153
 msgid "End period"
 msgstr "Закінчення уроків"
 
-#: aleksis/apps/alsijil/forms.py:154 aleksis/apps/alsijil/tables.py:117
+#: aleksis/apps/alsijil/forms.py:196 aleksis/apps/alsijil/tables.py:117
 #: aleksis/apps/alsijil/tables.py:138
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:50
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:397
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:29
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:75
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:352
+#: aleksis/apps/alsijil/forms.py:154
 msgid "Absent"
 msgstr "Відсутній(-я)"
 
-#: aleksis/apps/alsijil/forms.py:155 aleksis/apps/alsijil/tables.py:146
+#: aleksis/apps/alsijil/forms.py:197 aleksis/apps/alsijil/tables.py:146
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:54
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:134
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:31
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:85
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:84
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:297
+#: aleksis/apps/alsijil/forms.py:155
 msgid "Excused"
 msgstr "Пояснено"
 
-#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:71
-#: aleksis/apps/alsijil/models.py:245
+#: aleksis/apps/alsijil/forms.py:199 aleksis/apps/alsijil/models.py:71
+#: aleksis/apps/alsijil/models.py:253
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:32
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:73
+#: aleksis/apps/alsijil/forms.py:157 aleksis/apps/alsijil/models.py:245
 msgid "Excuse type"
 msgstr "Тип пояснення"
 
-#: aleksis/apps/alsijil/forms.py:162
+#: aleksis/apps/alsijil/forms.py:204
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:34
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:94
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:354
+#: aleksis/apps/alsijil/forms.py:162
 msgid "Remarks"
 msgstr "Зауваження"
 
-#: aleksis/apps/alsijil/forms.py:227
+#: aleksis/apps/alsijil/forms.py:269
 #: aleksis/apps/alsijil/templates/alsijil/absences/register.html:9
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:63
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:28
+#: aleksis/apps/alsijil/forms.py:227
 msgid "Person"
 msgstr "Особа"
 
-#: aleksis/apps/alsijil/forms.py:299
+#: aleksis/apps/alsijil/forms.py:346 aleksis/apps/alsijil/forms.py:299
 msgid "School term"
 msgstr "Навчальний рік"
 
-#: aleksis/apps/alsijil/forms.py:300
+#: aleksis/apps/alsijil/forms.py:347 aleksis/apps/alsijil/forms.py:300
 msgid "Has lesson documentation"
 msgstr "Має учбовий матеріал"
 
@@ -230,6 +250,7 @@ msgstr "Має учбовий матеріал"
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson_status.html:21
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:375
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:455
+#: aleksis/apps/alsijil/util/alsijil_helpers.py:330
 #: aleksis/apps/alsijil/util/alsijil_helpers.py:315
 msgid "Event"
 msgstr "Подія"
@@ -282,14 +303,15 @@ msgstr "Усі уроки"
 msgid "Excuse types"
 msgstr "Типи пояснень"
 
-#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:250
-#: aleksis/apps/alsijil/models.py:432 aleksis/apps/alsijil/tables.py:120
+#: aleksis/apps/alsijil/menus.py:104 aleksis/apps/alsijil/models.py:258
+#: aleksis/apps/alsijil/models.py:443 aleksis/apps/alsijil/tables.py:120
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/extra_mark/list.html:9
 #: aleksis/apps/alsijil/templates/alsijil/partials/legend.html:57
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:33
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:18
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:331
+#: aleksis/apps/alsijil/models.py:250 aleksis/apps/alsijil/models.py:432
 msgid "Extra marks"
 msgstr "Додаткові відмітки"
 
@@ -297,55 +319,67 @@ msgstr "Додаткові відмітки"
 msgid "Manage group roles"
 msgstr "Керування ролями групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:191
 #: aleksis/apps/alsijil/model_extensions.py:190
 msgid "Can view week overview of group class register"
 msgstr "Може бачити класний журнал групи за тиждень"
 
+#: aleksis/apps/alsijil/model_extensions.py:195
 #: aleksis/apps/alsijil/model_extensions.py:194
 msgid "Can view lesson overview of group class register"
 msgstr "Може бачити класний журнал групи за урок"
 
+#: aleksis/apps/alsijil/model_extensions.py:197
 #: aleksis/apps/alsijil/model_extensions.py:196
 msgid "Can view all personal notes of a group"
 msgstr "Може бачити усі особисті нотатки групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:198
 #: aleksis/apps/alsijil/model_extensions.py:197
 msgid "Can edit all personal notes of a group"
 msgstr "Може редагувати усі особисті нотатки групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:200
 #: aleksis/apps/alsijil/model_extensions.py:199
 msgid "Can view all lesson documentation of a group"
 msgstr "Може бачити увесь учбовий матеріал групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:203
 #: aleksis/apps/alsijil/model_extensions.py:202
 msgid "Can edit all lesson documentation of a group"
 msgstr "Може редагувати увесь учбовий матеріал групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:205
 #: aleksis/apps/alsijil/model_extensions.py:204
 msgid "Can view full register of a group"
 msgstr "Може бачити класний журнал групи без обмежень"
 
+#: aleksis/apps/alsijil/model_extensions.py:207
 #: aleksis/apps/alsijil/model_extensions.py:206
 msgid "Can register an absence for all members of a group"
 msgstr "Може реєструвати пропуски для усіх учасників групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:209
 #: aleksis/apps/alsijil/model_extensions.py:208
 msgid "Can assign a group role for this group"
 msgstr "Може призначати роль групи для цієї групи"
 
+#: aleksis/apps/alsijil/model_extensions.py:210
 #: aleksis/apps/alsijil/model_extensions.py:209
 msgid "Can register an absence for a person"
 msgstr "Може реєструвати відсутність особи"
 
-#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:419
+#: aleksis/apps/alsijil/models.py:50 aleksis/apps/alsijil/models.py:430
+#: aleksis/apps/alsijil/models.py:419
 msgid "Short name"
 msgstr "Коротке ім'я"
 
-#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:420
-#: aleksis/apps/alsijil/models.py:444
+#: aleksis/apps/alsijil/models.py:51 aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:455
 #: aleksis/apps/alsijil/templates/alsijil/class_register/groups.html:20
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:12
 #: aleksis/apps/alsijil/templates/alsijil/partials/persons_with_stats.html:23
+#: aleksis/apps/alsijil/models.py:420 aleksis/apps/alsijil/models.py:444
 msgid "Name"
 msgstr "Повне ім'я"
 
@@ -354,131 +388,143 @@ msgid "Count as absent"
 msgstr "Кількість відсутніх"
 
 #: aleksis/apps/alsijil/models.py:57
-msgid "If checked, this excuse type will be counted as a missed lesson. If not checked,it won't show up in the absence report."
+msgid ""
+"If checked, this excuse type will be counted as a missed lesson. If not "
+"checked,it won't show up in the absence report."
 msgstr ""
 "Якщо відмічено, цей тип пояснення буде зарахований як пропущений урок. Якщо "
 "не відмічено, то без запису у звіт відсутності."
 
+#: aleksis/apps/alsijil/models.py:233 aleksis/apps/alsijil/models.py:332
 #: aleksis/apps/alsijil/models.py:225 aleksis/apps/alsijil/models.py:324
 msgid "Year"
 msgstr "Рік"
 
-#: aleksis/apps/alsijil/models.py:284
+#: aleksis/apps/alsijil/models.py:292 aleksis/apps/alsijil/models.py:284
 msgid "Personal note"
 msgstr "Особиста нотатка"
 
-#: aleksis/apps/alsijil/models.py:285
+#: aleksis/apps/alsijil/models.py:293
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:47
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:375
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html:22
+#: aleksis/apps/alsijil/models.py:285
 msgid "Personal notes"
 msgstr "Особисті нотатки"
 
-#: aleksis/apps/alsijil/models.py:336
+#: aleksis/apps/alsijil/models.py:344
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:132
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:263
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:342
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:26
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:421
+#: aleksis/apps/alsijil/models.py:336
 msgid "Lesson topic"
 msgstr "Тема уроку"
 
-#: aleksis/apps/alsijil/models.py:337
+#: aleksis/apps/alsijil/models.py:345
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:133
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:269
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:347
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:34
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:422
+#: aleksis/apps/alsijil/models.py:337
 msgid "Homework"
 msgstr "Домашня робота"
 
-#: aleksis/apps/alsijil/models.py:338
+#: aleksis/apps/alsijil/models.py:346
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:134
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:275
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:351
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:42
+#: aleksis/apps/alsijil/models.py:338
 msgid "Group note"
 msgstr "Групова нотатка"
 
-#: aleksis/apps/alsijil/models.py:385
+#: aleksis/apps/alsijil/models.py:396
 #: aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html:17
+#: aleksis/apps/alsijil/models.py:385
 msgid "Lesson documentation"
 msgstr "Учбовий матеріал"
 
-#: aleksis/apps/alsijil/models.py:386
+#: aleksis/apps/alsijil/models.py:397
 #: aleksis/apps/alsijil/templates/alsijil/class_register/person.html:43
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:21
+#: aleksis/apps/alsijil/models.py:386
 msgid "Lesson documentations"
 msgstr "Учбові матеріали"
 
-#: aleksis/apps/alsijil/models.py:431
+#: aleksis/apps/alsijil/models.py:442 aleksis/apps/alsijil/models.py:431
 msgid "Extra mark"
 msgstr "Додаткова відмітка"
 
-#: aleksis/apps/alsijil/models.py:445
+#: aleksis/apps/alsijil/models.py:456 aleksis/apps/alsijil/models.py:445
 msgid "Icon"
 msgstr "Іконка"
 
-#: aleksis/apps/alsijil/models.py:446
+#: aleksis/apps/alsijil/models.py:457 aleksis/apps/alsijil/models.py:446
 msgid "Colour"
 msgstr "Колір"
 
-#: aleksis/apps/alsijil/models.py:452 aleksis/apps/alsijil/models.py:467
+#: aleksis/apps/alsijil/models.py:463 aleksis/apps/alsijil/models.py:478
 #: aleksis/apps/alsijil/templates/alsijil/group_role/assigned_list.html:62
+#: aleksis/apps/alsijil/models.py:452 aleksis/apps/alsijil/models.py:467
 msgid "Group role"
 msgstr "Роль групи"
 
-#: aleksis/apps/alsijil/models.py:453
+#: aleksis/apps/alsijil/models.py:464
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:34
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:8
 #: aleksis/apps/alsijil/templates/alsijil/group_role/list.html:9
+#: aleksis/apps/alsijil/models.py:453
 msgid "Group roles"
 msgstr "Ролі груп"
 
-#: aleksis/apps/alsijil/models.py:457
+#: aleksis/apps/alsijil/models.py:468 aleksis/apps/alsijil/models.py:457
 msgid "Can assign group role"
 msgstr "Може призначати роль групи"
 
-#: aleksis/apps/alsijil/models.py:473
+#: aleksis/apps/alsijil/models.py:484 aleksis/apps/alsijil/models.py:473
 msgid "Assigned person"
 msgstr "Призначена особа"
 
-#: aleksis/apps/alsijil/models.py:478 aleksis/apps/alsijil/tables.py:105
+#: aleksis/apps/alsijil/models.py:489 aleksis/apps/alsijil/tables.py:105
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:128
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:246
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:326
+#: aleksis/apps/alsijil/models.py:478
 msgid "Groups"
 msgstr "Групи"
 
-#: aleksis/apps/alsijil/models.py:485
+#: aleksis/apps/alsijil/models.py:496 aleksis/apps/alsijil/models.py:485
 msgid "Can be left empty if end date is not clear yet"
 msgstr "Якщо немає точної кінцевої дати, можна залишити порожнім"
 
-#: aleksis/apps/alsijil/models.py:500
+#: aleksis/apps/alsijil/models.py:511 aleksis/apps/alsijil/models.py:500
 msgid "Group role assignment"
 msgstr "Призначення ролі групи"
 
-#: aleksis/apps/alsijil/models.py:501
+#: aleksis/apps/alsijil/models.py:512 aleksis/apps/alsijil/models.py:501
 msgid "Group role assignments"
 msgstr "Призначення ролі групи"
 
-#: aleksis/apps/alsijil/models.py:508
+#: aleksis/apps/alsijil/models.py:519 aleksis/apps/alsijil/models.py:508
 msgid "Can view lesson overview"
 msgstr "Може бачити огляд уроку"
 
-#: aleksis/apps/alsijil/models.py:509
+#: aleksis/apps/alsijil/models.py:520 aleksis/apps/alsijil/models.py:509
 msgid "Can view week overview"
 msgstr "Може бачити огляд тижня"
 
-#: aleksis/apps/alsijil/models.py:510
+#: aleksis/apps/alsijil/models.py:521 aleksis/apps/alsijil/models.py:510
 msgid "Can view full register"
-msgstr "Може бачити повний журнал"
+msgstr "Може бачити весь журнал"
 
-#: aleksis/apps/alsijil/models.py:511
+#: aleksis/apps/alsijil/models.py:522 aleksis/apps/alsijil/models.py:511
 msgid "Can register absence"
 msgstr "Може реєструвати пропуск"
 
-#: aleksis/apps/alsijil/models.py:512
+#: aleksis/apps/alsijil/models.py:523 aleksis/apps/alsijil/models.py:512
 msgid "Can list all personal note filters"
 msgstr "Може бачити усі фільтри особистих нотаток"
 
@@ -491,72 +537,122 @@ msgid "Allow users to view their own personal notes"
 msgstr "Дозволити користувачам переглядати власні особисті нотатки"
 
 #: aleksis/apps/alsijil/preferences.py:34
-msgid "Allow primary group owners to register future absences for students in their groups"
+msgid ""
+"Allow primary group owners to register future absences for students in their "
+"groups"
 msgstr ""
 "Дозволити власникам основних груп реєструвати майбутні пропуски студентів у "
-"їх групах"
+"своїх групах"
 
+#: aleksis/apps/alsijil/preferences.py:44
+msgid ""
+"Grant the owner of a parent group the same privileges as the owners of the "
+"respective child groups"
+msgstr ""
+
+#: aleksis/apps/alsijil/preferences.py:54
 #: aleksis/apps/alsijil/preferences.py:43
-msgid "Allow original teachers to edit their lessons although they are substituted"
+msgid ""
+"Allow original teachers to edit their lessons although they are substituted"
 msgstr ""
-"Дозволити початковим викладачам навіть після їх заміни редагувати свої уроки"
+"Дозволити початковим викладачам редагувати свої уроки навіть після їх заміни"
 
+#: aleksis/apps/alsijil/preferences.py:63
 #: aleksis/apps/alsijil/preferences.py:52
-msgid "Carry over data from first lesson period to the following lesson periods in lessons over multiple periods"
+msgid ""
+"Carry over data from first lesson period to the following lesson periods in "
+"lessons over multiple periods"
 msgstr ""
 "Переносити дані з першого уроку в розкладі на поточні уроки через декілька "
 "уроків"
 
+#: aleksis/apps/alsijil/preferences.py:66
 #: aleksis/apps/alsijil/preferences.py:55
-msgid "This will carry over data only if the data in the following periods are empty."
+msgid ""
+"This will carry over data only if the data in the following periods are "
+"empty."
+msgstr "Це перенесе дані лише в тому разі, коли в поточних уроках даних немає."
+
+#: aleksis/apps/alsijil/preferences.py:75
+#, fuzzy
+msgid ""
+"Allow carrying over data from any lesson period to all other "
+"lesson                 periods with the same lesson and in the same week"
+msgstr ""
+"Переносити дані з першого уроку в розкладі на поточні уроки через декілька "
+"уроків"
+
+#: aleksis/apps/alsijil/preferences.py:79
+#, fuzzy
+msgid ""
+"This will carry over data only if the data in the aforementioned periods are "
+"empty."
 msgstr "Це перенесе дані лише в тому разі, коли в поточних уроках даних немає."
 
+#: aleksis/apps/alsijil/preferences.py:88
 #: aleksis/apps/alsijil/preferences.py:63
-msgid "Carry over personal notes to all following lesson periods on the same day."
+msgid ""
+"Carry over personal notes to all following lesson periods on the same day."
 msgstr "Переносити особисті нотатки до всіх наступних уроків того ж дня."
 
+#: aleksis/apps/alsijil/preferences.py:97
 #: aleksis/apps/alsijil/preferences.py:72
-msgid "Allow teachers to open lesson periods on the same day and not just at the beginning of the period"
+msgid ""
+"Allow teachers to open lesson periods on the same day and not just at the "
+"beginning of the period"
 msgstr ""
 "Дозволити викладачам відкривати уроки того самого дня і не лише на початку "
 "уроків"
 
+#: aleksis/apps/alsijil/preferences.py:101
 #: aleksis/apps/alsijil/preferences.py:76
-msgid "Lessons in the past are not affected by this setting, you can open them whenever you want."
+msgid ""
+"Lessons in the past are not affected by this setting, you can open them "
+"whenever you want."
 msgstr ""
-"Ці налаштування не впливають на минулі уроки. Ви можете відкривати їх "
-"будь-коли."
+"Ці налаштування не впливають на минулі уроки. Ви можете відкривати їх будь-"
+"коли."
 
+#: aleksis/apps/alsijil/preferences.py:110
 #: aleksis/apps/alsijil/preferences.py:85
 msgid "Allow teachers to add data for lessons in holidays"
 msgstr ""
 "Дозволити викладачам додавати навчальний матеріал (дані для уроків) на "
 "вихідних"
 
+#: aleksis/apps/alsijil/preferences.py:119
 #: aleksis/apps/alsijil/preferences.py:94
-msgid "Allow group owners to assign group roles to the parents of the group's members"
+msgid ""
+"Allow group owners to assign group roles to the parents of the group's "
+"members"
 msgstr "Дозволити власникам груп призначати ролі груп батькам учасників груп"
 
+#: aleksis/apps/alsijil/preferences.py:128
 #: aleksis/apps/alsijil/preferences.py:103
 msgid "Show assigned group roles in week view"
 msgstr "Показати призначені ролі груп у тижневому огляді"
 
+#: aleksis/apps/alsijil/preferences.py:129
 #: aleksis/apps/alsijil/preferences.py:104
 msgid "Only week view of groups"
 msgstr "Лише тижневі огляди груп"
 
+#: aleksis/apps/alsijil/preferences.py:137
 #: aleksis/apps/alsijil/preferences.py:112
 msgid "Show assigned group roles in lesson view"
 msgstr "Показати призначені ролі груп в огляді уроку"
 
+#: aleksis/apps/alsijil/preferences.py:147
 #: aleksis/apps/alsijil/preferences.py:122
 msgid "Items per page in lessons table"
 msgstr "Кількість записів у розкладі на сторінку"
 
+#: aleksis/apps/alsijil/preferences.py:151
 #: aleksis/apps/alsijil/preferences.py:126
 msgid "Each page must show at least one item."
 msgstr "Кожна сторінка повинна мати принаймні один запис."
 
+#: aleksis/apps/alsijil/preferences.py:159
 #: aleksis/apps/alsijil/preferences.py:134
 msgid "Filter lessons by existence of their lesson documentation on default"
 msgstr "Типово фільтувати уроки за наявністю у них учбового матеріалу"
@@ -647,7 +743,8 @@ msgstr " %(count)s залежних уроків "
 #: aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html:40
 msgid ""
 "\n"
-"                  There are no affected lessons. Registering this absence won't have any effect.\n"
+"                  There are no affected lessons. Registering this absence "
+"won't have any effect.\n"
 "                "
 msgstr ""
 "\n"
@@ -888,7 +985,8 @@ msgstr "Немає доступних уроків"
 #: aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html:439
 msgid ""
 "\n"
-"            There are no lessons for the selected group or teacher in this week.\n"
+"            There are no lessons for the selected group or teacher in this "
+"week.\n"
 "          "
 msgstr ""
 "\n"
@@ -910,8 +1008,10 @@ msgstr "Редагувати тип пояснення"
 #: aleksis/apps/alsijil/templates/alsijil/group_role/warning.html:4
 msgid ""
 "\n"
-"    This function should only be used to define alternatives to the default excuse which also will be counted extra.\n"
-"    Don't use this to create a default excuse or if you don't divide between different types of excuse.\n"
+"    This function should only be used to define alternatives to the default "
+"excuse which also will be counted extra.\n"
+"    Don't use this to create a default excuse or if you don't divide between "
+"different types of excuse.\n"
 "  "
 msgstr ""
 "\n"
@@ -992,7 +1092,8 @@ msgstr "Ніхто не призначений."
 #: aleksis/apps/alsijil/templates/alsijil/group_role/partials/assigned_roles.html:41
 msgid ""
 "\n"
-"    You can get some additional actions for each group role assignment if you click on the name of the\n"
+"    You can get some additional actions for each group role assignment if "
+"you click on the name of the\n"
 "    corresponding person.\n"
 "  "
 msgstr ""
@@ -1007,7 +1108,9 @@ msgid "Stop"
 msgstr "Стоп"
 
 #: aleksis/apps/alsijil/templates/alsijil/notifications/check.html:1
-msgid "Please check if the following class register entries are complete and correct:"
+msgid ""
+"Please check if the following class register entries are complete and "
+"correct:"
 msgstr ""
 "Перевірте, будь ласка, чи ці записи класного журналу повні та правильні:"
 
@@ -1155,13 +1258,15 @@ msgstr ""
 #, python-format
 msgid ""
 "\n"
-"            This seating plan is taken from the parent group of %(child_group)s.\n"
-"            If you want, you can take it over for your group and then customize it.\n"
+"            This seating plan is taken from the parent group of "
+"%(child_group)s.\n"
+"            If you want, you can take it over for your group and then "
+"customize it.\n"
 "          "
 msgstr ""
 "\n"
-"            Цей план розміщення взятий із батьківської групи %(child_group)s."
-"\n"
+"            Цей план розміщення взятий із батьківської групи "
+"%(child_group)s.\n"
 "            При необхідності, Ви можете його налаштувати під свою групу.\n"
 "          "
 
@@ -1181,7 +1286,8 @@ msgstr "Для цього уроку немає плану розміщення.
 #, python-format
 msgid ""
 "\n"
-"                  Create a new seating plan for %(group)s (%(subject)s) in %(room)s\n"
+"                  Create a new seating plan for %(group)s (%(subject)s) in "
+"%(room)s\n"
 "                "
 msgstr ""
 "\n"
@@ -1323,7 +1429,7 @@ msgstr ""
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:62
 msgid "Headteacher"
-msgstr "Директор"
+msgstr "Завуч"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:69
 msgid "Abbreviations"
@@ -1436,6 +1542,8 @@ msgid "Yes"
 msgstr "Так"
 
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:386
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:483
+#: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:498
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:484
 #: aleksis/apps/alsijil/templates/alsijil/print/full_register.html:499
 msgid "e"
@@ -1450,77 +1558,82 @@ msgid "Notes"
 msgstr "Нотатки"
 
 #: aleksis/apps/alsijil/views.py:118
-msgid "You either selected an invalid lesson or there is currently no lesson in progress."
+msgid ""
+"You either selected an invalid lesson or there is currently no lesson in "
+"progress."
 msgstr "Або Ви обрали неправильний урок, або зараз уроку немає."
 
 #: aleksis/apps/alsijil/views.py:151
-msgid "You are not allowed to create a lesson documentation for a lesson in the future."
+msgid ""
+"You are not allowed to create a lesson documentation for a lesson in the "
+"future."
 msgstr "Вам не дозволено створювати учбові матеріали для уроку у майбутньому."
 
-#: aleksis/apps/alsijil/views.py:266
+#: aleksis/apps/alsijil/views.py:268 aleksis/apps/alsijil/views.py:266
 msgid "The lesson documentation has been saved."
 msgstr "Учбовий матеріал збережений."
 
-#: aleksis/apps/alsijil/views.py:300
+#: aleksis/apps/alsijil/views.py:302 aleksis/apps/alsijil/views.py:300
 msgid "The personal notes have been saved."
 msgstr "Особисті нотатки збережені."
 
-#: aleksis/apps/alsijil/views.py:1079
+#: aleksis/apps/alsijil/views.py:1119 aleksis/apps/alsijil/views.py:1079
 msgid "The absence has been saved."
 msgstr "Пропуск збережений."
 
-#: aleksis/apps/alsijil/views.py:1100
+#: aleksis/apps/alsijil/views.py:1140 aleksis/apps/alsijil/views.py:1100
 msgid "The personal note has been deleted."
 msgstr "Особиста нотатка видалена."
 
-#: aleksis/apps/alsijil/views.py:1122
+#: aleksis/apps/alsijil/views.py:1162 aleksis/apps/alsijil/views.py:1122
 msgid "The extra mark has been created."
 msgstr "Додаткова позначка сторена."
 
-#: aleksis/apps/alsijil/views.py:1134
+#: aleksis/apps/alsijil/views.py:1174 aleksis/apps/alsijil/views.py:1134
 msgid "The extra mark has been saved."
 msgstr "Додаткова позначка збережена."
 
-#: aleksis/apps/alsijil/views.py:1145
+#: aleksis/apps/alsijil/views.py:1185 aleksis/apps/alsijil/views.py:1145
 msgid "The extra mark has been deleted."
 msgstr "Додаткова позначка видалена."
 
-#: aleksis/apps/alsijil/views.py:1166
+#: aleksis/apps/alsijil/views.py:1206 aleksis/apps/alsijil/views.py:1166
 msgid "The excuse type has been created."
 msgstr "Тип пояснення створений."
 
-#: aleksis/apps/alsijil/views.py:1178
+#: aleksis/apps/alsijil/views.py:1218 aleksis/apps/alsijil/views.py:1178
 msgid "The excuse type has been saved."
 msgstr "Тип пояснення збережений."
 
-#: aleksis/apps/alsijil/views.py:1189
+#: aleksis/apps/alsijil/views.py:1229 aleksis/apps/alsijil/views.py:1189
 msgid "The excuse type has been deleted."
 msgstr "Тип пояснення видалений."
 
-#: aleksis/apps/alsijil/views.py:1210
+#: aleksis/apps/alsijil/views.py:1250 aleksis/apps/alsijil/views.py:1210
 msgid "The group role has been created."
 msgstr "Роль групи створена."
 
-#: aleksis/apps/alsijil/views.py:1222
+#: aleksis/apps/alsijil/views.py:1262 aleksis/apps/alsijil/views.py:1222
 msgid "The group role has been saved."
 msgstr "Роль групи збережена."
 
-#: aleksis/apps/alsijil/views.py:1233
+#: aleksis/apps/alsijil/views.py:1273 aleksis/apps/alsijil/views.py:1233
 msgid "The group role has been deleted."
 msgstr "Роль групи видалена."
 
+#: aleksis/apps/alsijil/views.py:1306 aleksis/apps/alsijil/views.py:1338
 #: aleksis/apps/alsijil/views.py:1266 aleksis/apps/alsijil/views.py:1298
 msgid "The group role has been assigned."
 msgstr "Роль групи призначена."
 
-#: aleksis/apps/alsijil/views.py:1317
+#: aleksis/apps/alsijil/views.py:1357 aleksis/apps/alsijil/views.py:1317
 msgid "The group role assignment has been saved."
 msgstr "Призначення ролі групи збережене."
 
-#: aleksis/apps/alsijil/views.py:1338
+#: aleksis/apps/alsijil/views.py:1378 aleksis/apps/alsijil/views.py:1338
 msgid "The group role assignment has been stopped."
 msgstr "Призначення ролі групи зупинене."
 
-#: aleksis/apps/alsijil/views.py:1351
+#: aleksis/apps/alsijil/views.py:1391 aleksis/apps/alsijil/views.py:1351
 msgid "The group role assignment has been deleted."
 msgstr "Призначення ролі групи видалене."
diff --git a/aleksis/apps/alsijil/model_extensions.py b/aleksis/apps/alsijil/model_extensions.py
index d18d66867ddfa2bf4c9fe763842b1e3401d6d24e..5b0e5ac4b1337dfdc44c97470c36cd954fc7b915 100644
--- a/aleksis/apps/alsijil/model_extensions.py
+++ b/aleksis/apps/alsijil/model_extensions.py
@@ -11,6 +11,7 @@ from calendarweek import CalendarWeek
 from aleksis.apps.alsijil.managers import PersonalNoteQuerySet
 from aleksis.apps.chronos.models import Event, ExtraLesson, LessonPeriod
 from aleksis.core.models import Group, Person
+from aleksis.core.util.core_helpers import get_site_preferences
 
 from .models import ExcuseType, ExtraMark, LessonDocumentation, PersonalNote
 
@@ -385,8 +386,16 @@ def get_groups_with_lessons(cls: Group):
 def get_owner_groups_with_lessons(self: Person):
     """Get all groups the person is an owner of and which have related lessons.
 
-    Groups which have child groups with related lessons are also included.
+    Groups which have child groups with related lessons are also included, as well as all
+    child groups of the groups owned by the person with related lessons if the
+    inherit_privileges_from_parent_group preference is turned on.
     """
+    if get_site_preferences()["alsijil__inherit_privileges_from_parent_group"]:
+        return (
+            Group.get_groups_with_lessons()
+            .filter(Q(owners=self) | Q(parent_groups__owners=self))
+            .distinct()
+        )
     return Group.get_groups_with_lessons().filter(owners=self).distinct()
 
 
diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index b8189119f601b4ba8348d6fff94dd6de0c8fa0a2..16d6c7d3e4c46ae17db133a981a17d965abe3da2 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -118,6 +118,14 @@ class RegisterObjectRelatedMixin(WeekRelatedMixin):
         else:
             return self.extra_lesson
 
+    @property
+    def register_object_key(self: Union["LessonDocumentation", "PersonalNote"]) -> str:
+        """Get a unique reference to the related object related."""
+        if self.week and self.year:
+            return f"{self.register_object.pk}_{self.week}_{self.year}"
+        else:
+            return self.register_object.pk
+
     @property
     def calendar_week(self: Union["LessonDocumentation", "PersonalNote"]) -> CalendarWeek:
         """Get the calendar week of this lesson documentation or personal note.
diff --git a/aleksis/apps/alsijil/preferences.py b/aleksis/apps/alsijil/preferences.py
index 35d0984effae2264de0e53844682b09eb60ac3f8..2fd34fa7fc4f802a52ead1d2d0291789be4fb9ce 100644
--- a/aleksis/apps/alsijil/preferences.py
+++ b/aleksis/apps/alsijil/preferences.py
@@ -35,6 +35,17 @@ class RegisterAbsenceAsPrimaryGroupOwner(BooleanPreference):
     )
 
 
+@site_preferences_registry.register
+class InheritPrivilegesFromParentGroup(BooleanPreference):
+    section = alsijil
+    name = "inherit_privileges_from_parent_group"
+    default = True
+    verbose_name = _(
+        "Grant the owner of a parent group the same privileges "
+        "as the owners of the respective child groups"
+    )
+
+
 @site_preferences_registry.register
 class EditLessonDocumentationAsOriginalTeacher(BooleanPreference):
     section = alsijil
diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py
index 23686bf17d9e2f54a95bc26c672cc4a046ba0131..b2640b8cfbf2eb8a1874926ee5a5bce2809ef1dd 100644
--- a/aleksis/apps/alsijil/rules.py
+++ b/aleksis/apps/alsijil/rules.py
@@ -24,6 +24,7 @@ from .util.predicates import (
     is_none,
     is_own_personal_note,
     is_owner_of_any_group,
+    is_parent_group_owner,
     is_person_group_owner,
     is_person_primary_group_owner,
     is_personal_note_lesson_original_teacher,
@@ -52,6 +53,10 @@ view_lesson_personal_notes_predicate = view_register_object_predicate & (
     ~is_lesson_participant
     | is_lesson_teacher
     | is_lesson_original_teacher
+    | (
+        is_lesson_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.view_personalnote")
     | has_lesson_group_object_perm("core.view_personalnote_group")
 )
@@ -64,6 +69,10 @@ edit_lesson_personal_note_predicate = view_lesson_personal_notes_predicate & (
         is_lesson_original_teacher
         & is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher")
     )
+    | (
+        is_lesson_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.change_personalnote")
     | has_lesson_group_object_perm("core.edit_personalnote_group")
 )
@@ -87,6 +96,10 @@ edit_personal_note_predicate = view_personal_note_predicate & (
         is_personal_note_lesson_original_teacher
         | ~is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher")
     )
+    | (
+        is_personal_note_lesson_parent_group_owner
+        | is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.view_personalnote")
     | has_personal_note_group_perm("core.edit_personalnote_group")
 )
@@ -103,6 +116,10 @@ edit_lesson_documentation_predicate = view_register_object_predicate & (
         is_lesson_original_teacher
         & is_site_preference_set("alsijil", "edit_lesson_documentation_as_original_teacher")
     )
+    | (
+        is_lesson_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.change_lessondocumentation")
     | has_lesson_group_object_perm("core.edit_lessondocumentation_group")
 )
@@ -113,6 +130,10 @@ view_week_predicate = has_person & (
     is_current_person
     | is_group_member
     | is_group_owner
+    | (
+        is_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.view_week")
     | has_object_perm("core.view_week_class_register_group")
 )
@@ -125,6 +146,10 @@ add_perm("alsijil.view_week_menu_rule", has_person)
 view_week_personal_notes_predicate = has_person & (
     (is_current_person & is_teacher)
     | is_group_owner
+    | (
+        is_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.view_personalnote")
     | has_object_perm("core.view_personalnote_group")
 )
@@ -133,7 +158,7 @@ add_perm("alsijil.view_week_personalnote_rule", view_week_personal_notes_predica
 # Register absence
 register_absence_predicate = has_person & (
     (
-        is_person_primary_group_owner
+        is_person_group_owner
         & is_site_preference_set("alsijil", "register_absence_as_primary_group_owner")
     )
     | has_global_perm("alsijil.register_absence")
@@ -145,6 +170,10 @@ add_perm("alsijil.register_absence_rule", register_absence_predicate)
 # View full register for group
 view_full_register_predicate = has_person & (
     is_group_owner
+    | (
+        is_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.view_full_register")
     | has_object_perm("core.view_full_register_group")
 )
@@ -161,6 +190,10 @@ add_perm("alsijil.view_my_groups_rule", view_my_groups_predicate)
 # View students list
 view_students_list_predicate = view_my_groups_predicate & (
     is_group_owner
+    | (
+        is_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.view_personalnote")
     | has_object_perm("core.view_personalnote_group")
 )
@@ -263,6 +296,10 @@ add_perm("alsijil.delete_grouprole_rule", delete_group_role_predicate)
 
 view_assigned_group_roles_predicate = has_person & (
     is_group_owner
+    | (
+        is_parent_group_owner
+        & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group")
+    )
     | has_global_perm("alsijil.assign_grouprole")
     | has_object_perm("core.assign_grouprole")
 )
diff --git a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
index ab63dc7a7c9b44f9808d8c4af5460439ee7cdb8d..a8f7dd5c3d428c3e3d3e45324865cbd9fccab7f1 100644
--- a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
+++ b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
@@ -180,7 +180,7 @@
 
   <div class="page-break">&nbsp;</div>
 
-  {% if group.lessons.all %}
+  {% if lessons %}
     <h4>{% trans 'Teachers and lessons in group' %} {{ group.name }}</h4>
 
     <table id="lessons">
@@ -210,7 +210,7 @@
 
   {% endif %}
 
-  {% if group.child_groups.all %}
+  {% if child_groups %}
     <h4>{% trans 'Teachers and lessons in child groups' %}</h4>
 
     <table id="lessons">
@@ -427,7 +427,7 @@
       <tbody>
       {% for day in week %}
         {% with register_objects_by_day|get_dict:day as register_objects %}
-          {% for register_object, documentations, notes, substitution in register_objects %}
+          {% for register_object, documentation, notes, substitution in register_objects %}
             <tr class="
                     {% if substitution %}
                       {% if substitution.cancelled %}
@@ -461,47 +461,45 @@
               </td>
               <td class="lesson-topic">
                 {% if register_object.label_ == "event" %}
-                  {{ register_object.title }}: {{ documentations.0.topic }}
+                  {{ register_object.title }}: {{ documentation.topic }}
                 {% elif substitution.cancelled %}
                   {% trans 'Lesson cancelled' %}
                 {% else %}
-                  {{ documentations.0.topic }}
+                  {{ documentation.topic }}
                 {% endif %}
               </td>
-              <td class="lesson-homework">{{ documentations.0.homework }}</td>
+              <td class="lesson-homework">{{ documentation.homework }}</td>
               <td class="lesson-notes">
-                {{ documentations.0.group_note }}
+                {{ documentation.group_note }}
                 {% for note in notes %}
-                  {% if group in note.groups_of_person.all %}
-                    {% if note.absent %}
-                      <span class="lesson-note-absent">
-                        {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}.
-                        {% if note.excused %}
-                          <span class="lesson-note-excused">
-                            {% if note.excuse_type %}
-                              ({{ note.excuse_type.short_name }})
-                            {% else %}
-                              ({% trans 'e' %})
-                            {% endif %}
-                          </span>
-                        {% endif %}
-                      </span>
-                    {% endif %}
-                    {% if note.late %}
-                      <span class="lesson-note-late">
-                        {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}.
-                        ({{ note.late }}′)
-                        {% if note.excused %}
-                          <span class="lesson-note-excused">
-                            {% if note.excuse_type %}
-                              ({{ note.excuse_type.short_name }})
-                            {% else %}
-                              ({% trans 'e' %})
-                            {% endif %}
-                          </span>
-                        {% endif %}
-                      </span>
-                    {% endif %}
+                  {% if note.absent %}
+                    <span class="lesson-note-absent">
+                      {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}.
+                      {% if note.excused %}
+                        <span class="lesson-note-excused">
+                          {% if note.excuse_type %}
+                            ({{ note.excuse_type.short_name }})
+                          {% else %}
+                            ({% trans 'e' %})
+                          {% endif %}
+                        </span>
+                      {% endif %}
+                    </span>
+                  {% endif %}
+                  {% if note.late %}
+                    <span class="lesson-note-late">
+                      {{ note.person.last_name }}, {{ note.person.first_name|slice:"0:1" }}.
+                      ({{ note.late }}′)
+                      {% if note.excused %}
+                        <span class="lesson-note-excused">
+                          {% if note.excuse_type %}
+                            ({{ note.excuse_type.short_name }})
+                          {% else %}
+                            ({% trans 'e' %})
+                          {% endif %}
+                        </span>
+                      {% endif %}
+                    </span>
                   {% endif %}
                   {% for extra_mark in note.extra_marks.all %}
                     <span>
@@ -512,7 +510,7 @@
                 {% endfor %}
               </td>
               <td class="lesson-te">
-                {% if documentations.0.topic %}
+                {% if documentation.topic %}
                   {{ register_object.get_teachers.first.short_name }}
                 {% endif %}
               </td>
diff --git a/aleksis/apps/alsijil/util/alsijil_helpers.py b/aleksis/apps/alsijil/util/alsijil_helpers.py
index 640431a902c147d6322d485ba666fdb244635155..8e203e8f61f023af2c812efe0f21cf9a34511c60 100644
--- a/aleksis/apps/alsijil/util/alsijil_helpers.py
+++ b/aleksis/apps/alsijil/util/alsijil_helpers.py
@@ -15,6 +15,8 @@ from aleksis.apps.alsijil.forms import FilterRegisterObjectForm
 from aleksis.apps.alsijil.models import LessonDocumentation
 from aleksis.apps.chronos.models import Event, ExtraLesson, Holiday, LessonPeriod
 from aleksis.apps.chronos.util.chronos_helpers import get_el_by_pk
+from aleksis.core.models import Group
+from aleksis.core.util.core_helpers import get_site_preferences
 
 
 def get_register_object_by_pk(
@@ -187,7 +189,16 @@ def _generate_dicts_for_lesson_periods(
     weeks = CalendarWeek.weeks_within(date_start, date_end)
 
     register_objects = []
+    inherit_privileges_preference = get_site_preferences()[
+        "alsijil__inherit_privileges_from_parent_group"
+    ]
     for lesson_period in lesson_periods:
+        parent_group_owned_by_person = inherit_privileges_preference and (
+            Group.objects.filter(
+                child_groups__in=Group.objects.filter(lessons__lesson_periods=lesson_period),
+                owners=filter_dict.get("person"),
+            ).exists()
+        )
         for week in weeks:
             day = week[lesson_period.period.weekday]
 
@@ -205,10 +216,14 @@ def _generate_dicts_for_lesson_periods(
             ):
                 sub = lesson_period.get_substitution()
 
-                # Skip lesson period if the person isn't a teacher
-                # or substitution teacher of this lesson period
+                # Skip lesson period if the person isn't a teacher,
+                # substitution teacher or, when the corresponding
+                # preference is switched on, owner of a parent group
+                # of this lesson period
                 if filter_dict.get("person") and (
-                    filter_dict.get("person") not in lesson_period.lesson.teachers.all() and not sub
+                    filter_dict.get("person") not in lesson_period.lesson.teachers.all()
+                    and not sub
+                    and not parent_group_owned_by_person
                 ):
                     continue
 
diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py
index 1759a5446d204d61c87f5bd1cbe9e3e031d95be2..d66ebb41d052e17dac94087526997df71824c2cc 100644
--- a/aleksis/apps/alsijil/util/predicates.py
+++ b/aleksis/apps/alsijil/util/predicates.py
@@ -206,6 +206,16 @@ def is_own_personal_note(user: User, obj: PersonalNote) -> bool:
     return False
 
 
+@predicate
+def is_parent_group_owner(user: User, obj: Group) -> bool:
+    """Predicate which checks whether the user is the owner of any parent group of the group."""
+    if hasattr(obj, "parent_groups"):
+        for parent_group in use_prefetched(obj, "parent_groups"):
+            if user.person in use_prefetched(parent_group, "owners"):
+                return True
+    return False
+
+
 @predicate
 def is_personal_note_lesson_teacher(user: User, obj: PersonalNote) -> bool:
     """Predicate for teachers of a register object linked to a personal note.
@@ -247,11 +257,15 @@ def is_personal_note_lesson_parent_group_owner(user: User, obj: PersonalNote) ->
 
     Checks whether the person linked to the user is the owner of
     any parent groups of any groups of the given LessonPeriod lesson of the given PersonalNote.
+    If so, also checks whether the person linked to the personal note actually is a member of this
+    parent group.
     """
     if hasattr(obj, "register_object"):
         for group in obj.register_object.get_groups().all():
             for parent_group in group.parent_groups.all():
-                if user.person in list(parent_group.owners.all()):
+                if user.person in use_prefetched(
+                    parent_group, "owners"
+                ) and obj.person in use_prefetched(parent_group, "members"):
                     return True
     return False
 
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 7fa14bd5c554a4ab3cc064a583720ca8d24aaf32..8298d67edd72249559d75a021ffdf9b1cca2168f 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -240,7 +240,9 @@ def register_object(
         else:
             persons = Person.objects.all()
 
-        persons_qs = register_object.get_personal_notes(persons, wanted_week)
+        persons_qs = register_object.get_personal_notes(persons, wanted_week).filter(
+            person__member_of__in=request.user.person.owner_of.all()
+        )
 
         # Annotate group roles
         if show_group_roles:
@@ -368,9 +370,30 @@ def week_view(
 
     elif hasattr(request, "user") and hasattr(request.user, "person"):
         if request.user.person.lessons_as_teacher.exists():
-            lesson_periods = lesson_periods.filter_teacher(request.user.person)
-            events = events.filter_teacher(request.user.person)
-            extra_lessons = extra_lessons.filter_teacher(request.user.person)
+            inherit_privileges_preference = get_site_preferences()[
+                "alsijil__inherit_privileges_from_parent_group"
+            ]
+            lesson_periods = (
+                lesson_periods.filter_teacher(request.user.person).union(
+                    lesson_periods.filter_groups(request.user.person.owner_of.all())
+                )
+                if inherit_privileges_preference
+                else lesson_periods.filter_teacher(request.user.person)
+            )
+            events = (
+                events.filter_teacher(request.user.person).union(
+                    events.filter_groups(request.user.person.owner_of.all())
+                )
+                if inherit_privileges_preference
+                else events.filter_teacher(request.user.person)
+            )
+            extra_lessons = (
+                extra_lessons.filter_teacher(request.user.person).union(
+                    extra_lessons.filter_groups(request.user.person.owner_of.all())
+                )
+                if inherit_privileges_preference
+                else extra_lessons.filter_teacher(request.user.person)
+            )
 
             type_ = TimetableType.TEACHER
         else:
@@ -453,9 +476,13 @@ def week_view(
         if not request.user.has_perm("alsijil.view_week_personalnote_rule", instance):
             persons_qs = persons_qs.filter(pk=request.user.person.pk)
         elif group:
-            persons_qs = persons_qs.filter(member_of=group)
+            persons_qs = persons_qs.filter(member_of=group).filter(
+                member_of__in=request.user.person.owner_of.all()
+            )
         else:
-            persons_qs = persons_qs.filter(member_of__in=groups)
+            persons_qs = persons_qs.filter(member_of__in=groups).filter(
+                member_of__in=request.user.person.owner_of.all()
+            )
 
         # Prefetch object permissions for persons and groups the persons are members of
         # because the object permissions are checked for both persons and groups
@@ -622,16 +649,27 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
         | Q(event__groups__parent_groups=group)
     )
     personal_notes = (
-        PersonalNote.objects.select_related("lesson_period")
-        .prefetch_related(
-            "lesson_period__substitutions", "lesson_period__lesson__teachers", "groups_of_person"
+        PersonalNote.objects.prefetch_related(
+            "lesson_period__substitutions", "lesson_period__lesson__teachers"
         )
         .not_empty()
         .filter(groups_q)
+        .filter(groups_of_person=group)
     )
-    documentations = (
-        LessonDocumentation.objects.select_related("lesson_period").not_empty().filter(groups_q)
-    )
+    documentations = LessonDocumentation.objects.not_empty().filter(groups_q)
+
+    sorted_documentations = {"extra_lesson": {}, "event": {}, "lesson_period": {}}
+    sorted_personal_notes = {"extra_lesson": {}, "event": {}, "lesson_period": {}, "person": {}}
+    for documentation in documentations:
+        key = documentation.register_object.label_
+        sorted_documentations[key][documentation.register_object_key] = documentation
+
+    for note in personal_notes:
+        key = note.register_object.label_
+        sorted_personal_notes[key].setdefault(note.register_object_key, [])
+        sorted_personal_notes[key][note.register_object_key].append(note)
+        sorted_personal_notes["person"].setdefault(note.person.pk, [])
+        sorted_personal_notes["person"][note.person.pk].append(note)
 
     # Get all lesson periods for the selected group
     lesson_periods = LessonPeriod.objects.filter_group(group).distinct()
@@ -645,8 +683,8 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
         register_objects_by_day.setdefault(day, []).append(
             (
                 extra_lesson,
-                list(filter(lambda d: d.extra_lesson == extra_lesson, documentations)),
-                list(filter(lambda d: d.extra_lesson == extra_lesson, personal_notes)),
+                sorted_documentations["extra_lesson"].get(extra_lesson.pk),
+                sorted_personal_notes["extra_lesson"].get(extra_lesson.pk, []),
                 None,
             )
         )
@@ -660,8 +698,8 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
             register_objects_by_day.setdefault(day, []).append(
                 (
                     event_copy,
-                    list(filter(lambda d: d.event == event, documentations)),
-                    list(filter(lambda d: d.event == event, personal_notes)),
+                    sorted_documentations["event"].get(event.pk),
+                    sorted_personal_notes["event"].get(event.pk, []),
                     None,
                 )
             )
@@ -680,26 +718,17 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
                 <= day
                 <= lesson_period.lesson.validity.date_end
             ):
-                filtered_documentations = list(
-                    filter(
-                        lambda d: d.week == week.week
-                        and d.year == week.year
-                        and d.lesson_period == lesson_period,
-                        documentations,
-                    )
+                filtered_documentation = sorted_documentations["lesson_period"].get(
+                    f"{lesson_period.pk}_{week.week}_{week.year}"
                 )
-                filtered_personal_notes = list(
-                    filter(
-                        lambda d: d.week == week.week
-                        and d.year == week.year
-                        and d.lesson_period == lesson_period,
-                        personal_notes,
-                    )
+                filtered_personal_notes = sorted_personal_notes["lesson_period"].get(
+                    f"{lesson_period.pk}_{week.week}_{week.year}", []
                 )
+
                 substitution = lesson_period.get_substitution(week)
 
                 register_objects_by_day.setdefault(day, []).append(
-                    (lesson_period, filtered_documentations, filtered_personal_notes, substitution)
+                    (lesson_period, filtered_documentation, filtered_personal_notes, substitution)
                 )
 
     persons = group.members.prefetch_related(None).select_related(None)
@@ -707,7 +736,7 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
 
     prefetched_persons = []
     for person in persons:
-        person.filtered_notes = list(filter(lambda d: d.person == person, personal_notes))
+        person.filtered_notes = sorted_personal_notes["person"][person.pk]
         prefetched_persons.append(person)
 
     context["school_term"] = group.school_term
@@ -722,15 +751,22 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
     context["today"] = date.today()
     context["lessons"] = (
         group.lessons.all()
+        .select_related(None)
+        .prefetch_related(None)
         .select_related("validity", "subject")
         .prefetch_related("teachers", "lesson_periods")
     )
-    context["child_groups"] = group.child_groups.all().prefetch_related(
-        "lessons",
-        "lessons__validity",
-        "lessons__subject",
-        "lessons__teachers",
-        "lessons__lesson_periods",
+    context["child_groups"] = (
+        group.child_groups.all()
+        .select_related(None)
+        .prefetch_related(None)
+        .prefetch_related(
+            "lessons",
+            "lessons__validity",
+            "lessons__subject",
+            "lessons__teachers",
+            "lessons__lesson_periods",
+        )
     )
     return render_pdf(request, "alsijil/print/full_register.html", context)
 
@@ -761,7 +797,7 @@ def my_students(request: HttpRequest) -> HttpResponse:
                 "primary_group__owners",
                 Prefetch("member_of", queryset=relevant_groups, to_attr="member_of_prefetched"),
             )
-        )
+        ).filter(member_of__in=request.user.person.owner_of.all())
         persons_for_group = []
         for person in persons:
             person.set_object_permission_checker(checker)
@@ -794,7 +830,11 @@ class StudentsList(PermissionRequiredMixin, DetailView):
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
         context["group"] = self.object
-        context["persons"] = self.object.generate_person_list_with_class_register_statistics()
+        context[
+            "persons"
+        ] = self.object.generate_person_list_with_class_register_statistics().filter(
+            member_of__in=self.request.user.person.owner_of.all()
+        )
         context["extra_marks"] = ExtraMark.objects.all()
         context["excuse_types"] = ExcuseType.objects.filter(count_as_absent=True)
         context["excuse_types_not_absent"] = ExcuseType.objects.filter(count_as_absent=False)
diff --git a/docs/admin/40_preferences.rst b/docs/admin/40_preferences.rst
index b6e5ccf08856bea311776d34c4abe239f0679d81..d7252147276e289883c93e050230bdb866acf02e 100644
--- a/docs/admin/40_preferences.rst
+++ b/docs/admin/40_preferences.rst
@@ -13,6 +13,9 @@ following preferences:
 * **Allow primary group owners to register future absences for students in their groups**:
   This allows owners of the student's primary group (e. g. the class)
   to register future absences like doctor's appointments or family celebrations.
+* **Grant the owner of a parent group the same privileges as the owners of the respective child groups**:
+  The owner of a group can perform all operations on child groups and related objects an owner of
+  the respected child groups is allowed to (e. g. editing the lesson documentation).
 * **Allow original teachers to edit their lessons although they are substituted:**
   In the case of substitute teaching, absent teachers can be given write-in privileges for the lesson.
 * **Carry over data from first lesson period to the following lesson periods in lessons over multiple periods:**
diff --git a/docs/conf.py b/docs/conf.py
index d1074475351acac1216bd056058d546996fd6fea..1bb1712a1d993fe8523eed1d34291b7865c37aa6 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -29,9 +29,9 @@ copyright = "2019-2022 The AlekSIS team"
 author = "The AlekSIS Team"
 
 # The short X.Y version
-version = "2.0"
+version = "2.1"
 # The full version, including alpha/beta/rc tags
-release = "2.0.2.dev0"
+release = "2.1.1.dev0"
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/pyproject.toml b/pyproject.toml
index 5aaa12748af26819e63ebf590ca55c59d9e2a64e..1381bc6d33e3ef546a6555d1e8695cae267f33d9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "AlekSIS-App-Alsijil"
-version = "2.0.2.dev0"
+version = "2.1.1.dev0"
 packages = [
     { include = "aleksis" }
 ]
@@ -50,10 +50,14 @@ secondary = true
 python = "^3.9"
 aleksis-core = "^2.7"
 aleksis-app-chronos = "^2.2"
+aleksis-app-stoelindeling = { version = "^1.0", optional = true }
 
 [tool.poetry.dev-dependencies]
 aleksis-builddeps = "*"
 
+[tool.poetry.extras]
+seatingplans = ["aleksis-app-stoelindeling"]
+
 [tool.poetry.plugins."aleksis.app"]
 alsijil = "aleksis.apps.alsijil.apps:AlsijilConfig"