diff --git a/aleksis/apps/alsijil/migrations/0001_initial.py b/aleksis/apps/alsijil/migrations/0001_initial.py
index 9c09fe176a2917b5b08d77863b9bd8adb07826eb..3b396eaaa92bbf3bdef22379f94ad6055094eab7 100644
--- a/aleksis/apps/alsijil/migrations/0001_initial.py
+++ b/aleksis/apps/alsijil/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 3.0.6 on 2020-05-11 13:19
+# Generated by Django 3.0.6 on 2020-05-29 10:29
 
 import aleksis.apps.alsijil.models
 import django.contrib.postgres.fields.jsonb
@@ -12,9 +12,9 @@ class Migration(migrations.Migration):
     initial = True
 
     dependencies = [
+        ('core', '0001_initial'),
         ('chronos', '0001_initial'),
         ('sites', '0002_alter_domain_unique'),
-        ('core', '0001_initial'),
     ]
 
     operations = [
@@ -29,6 +29,8 @@ class Migration(migrations.Migration):
                 ('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
             ],
             options={
+                'verbose_name': 'Personal note filter',
+                'verbose_name_plural': 'Personal note filters',
                 'ordering': ['identifier'],
             },
             managers=[
@@ -50,6 +52,8 @@ class Migration(migrations.Migration):
                 ('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
             ],
             options={
+                'verbose_name': 'Personal note',
+                'verbose_name_plural': 'Personal notes',
                 'ordering': ['lesson_period__lesson__date_start', 'week', 'lesson_period__period__weekday', 'lesson_period__period__period', 'person__last_name', 'person__first_name'],
                 'unique_together': {('lesson_period', 'week', 'person')},
             },
@@ -69,6 +73,8 @@ class Migration(migrations.Migration):
                 ('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
             ],
             options={
+                'verbose_name': 'Lesson documentation',
+                'verbose_name_plural': 'Lesson documentations',
                 'ordering': ['lesson_period__lesson__date_start', 'week', 'lesson_period__period__weekday', 'lesson_period__period__period'],
                 'unique_together': {('lesson_period', 'week')},
             },
diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py
index 916486fd783121cdd4d8d2265b44213d8e2d5f3a..3867f6c5a449977f39135e1690bb7954623a247f 100644
--- a/aleksis/apps/alsijil/models.py
+++ b/aleksis/apps/alsijil/models.py
@@ -27,6 +27,8 @@ class PersonalNote(ExtensibleModel):
     remarks = models.CharField(max_length=200, blank=True)
 
     class Meta:
+        verbose_name = _("Personal note")
+        verbose_name_plural = _("Personal notes")
         unique_together = [["lesson_period", "week", "person"]]
         ordering = [
             "lesson_period__lesson__date_start",
@@ -52,6 +54,8 @@ class LessonDocumentation(ExtensibleModel):
     homework = models.CharField(verbose_name=_("Homework"), max_length=200, blank=True)
 
     class Meta:
+        verbose_name = _("Lesson documentation")
+        verbose_name_plural = _("Lesson documentations")
         unique_together = [["lesson_period", "week"]]
         ordering = [
             "lesson_period__lesson__date_start",
@@ -74,4 +78,6 @@ class PersonalNoteFilter(ExtensibleModel):
     regex = models.CharField(verbose_name=_("Match expression"), max_length=100, unique=True)
 
     class Meta:
+        verbose_name = _("Personal note filter")
+        verbose_name_plural = _("Personal note filters")
         ordering = ["identifier"]
diff --git a/aleksis/apps/alsijil/static/css/alsijil/full_register.css b/aleksis/apps/alsijil/static/css/alsijil/full_register.css
index fe26ef3b717889ca953bc5c052ecb817d487fcf7..e9ee93a5c93d948307ae15b9f4b146616e73279a 100644
--- a/aleksis/apps/alsijil/static/css/alsijil/full_register.css
+++ b/aleksis/apps/alsijil/static/css/alsijil/full_register.css
@@ -130,3 +130,14 @@ table.person-info td.person-img img {
 .sheet * {
     page-break-inside: avoid;
 }
+
+img.max-size-600 {
+  max-width: 600px;
+  max-height: 600px;
+}
+
+img.center{
+  position: relative;
+  left: 50%;
+  transform: translateX(-50%);
+}
diff --git a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
index b8756f4bcc1572c7335e7a56194864d19c4ab475..32069660f212b015faacd13c73d5b4689382b2b2 100644
--- a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
+++ b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html
@@ -14,7 +14,9 @@
     <section class="sheet padding-10mm bigprint" id="titlepage">
       <div>
         <h1>{% trans 'Class register' %}</h1>
-        <img src="{% cropped_thumbnail school 'logo_cropping' max_size='600x600' %}" id="school-logo" />
+        {% static "img/aleksis-banner.svg" as aleksis_banner %}
+        <img src="{% firstof request.site.preferences.theme__logo.url aleksis_banner %}"
+             alt="{{ request.site.preferences.general__title }} – Logo" class="max-size-600 center">
         <p id="group-desc">
           {{ group.name }}
         </p>
@@ -82,7 +84,7 @@
               <td>{{ person.first_name }}</td>
               <td>{{ person.get_sex_display }}</td>
               <td>{{ person.date_of_birth }}</td>
-              <td>{{ person.absences}}</td>
+              <td>{{ person.absences_count}}</td>
               <td>{{ person.unexcused }}</td>
               <td>{{ person.tardiness }}</td>
             </tr>
@@ -204,7 +206,7 @@
 
           <tbody>
             <tr>
-              <td>{{ person.absences }}</td>
+              <td>{{ person.absences_count }}</td>
               <td>{{ person.unexcused }}</td>
               <td>{{ person.tardiness }}</td>
             </tr>
diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 79c3a9ea73c36adc569e7649b8aa8a3184c17a3b..24c242471e1aebf1ea5106a42d6ee9557457f1d2 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -14,7 +14,7 @@ from calendarweek import CalendarWeek
 from django_tables2 import RequestConfig
 
 from aleksis.apps.chronos.models import LessonPeriod
-from aleksis.core.models import Group, Person
+from aleksis.core.models import Group, Person, SchoolTerm
 from aleksis.core.util import messages
 
 from .forms import (
@@ -234,22 +234,26 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
     # Get all lesson periods for the selected group
     lesson_periods = (
         LessonPeriod.objects.filter_group(group)
-        .distinct()
-        .prefetch_related("documentations", "personal_notes")
+            .distinct()
+            .prefetch_related("documentations", "personal_notes")
     )
 
-#FIXME SchoolTerm missing in core
-#    weeks = CalendarWeek.weeks_within(
-#        SchoolTerm.objects.first().current_term.date_start,
-#        SchoolTerm.objects.first().current_term.date_end,
-#    )
+    current_school_term = SchoolTerm.current
+
+    if not current_school_term:
+        return HttpResponseNotFound(_("There is no current school term."))
+
+    weeks = CalendarWeek.weeks_within(
+        current_school_term.date_start,
+        current_school_term.date_end,
+    )
 
     periods_by_day = {}
     for lesson_period in lesson_periods:
         for week in weeks:
             day = week[lesson_period.period.weekday - 1]
 
-            if lesson_period.lesson.date_start <= day and lesson_period.lesson.date_end >= day:
+            if lesson_period.lesson.date_start <= day <= lesson_period.lesson.date_end:
                 documentations = list(
                     filter(lambda d: d.week == week.week, lesson_period.documentations.all(),)
                 )
@@ -263,7 +267,7 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
                 )
 
     persons = group.members.annotate(
-        absences=Count("personal_notes__absent", filter=Q(personal_notes__absent=True)),
+        absences_count=Count("personal_notes__absent", filter=Q(personal_notes__absent=True)),
         unexcused=Count(
             "personal_notes__absent",
             filter=Q(personal_notes__absent=True, personal_notes__excused=False),
diff --git a/poetry.lock b/poetry.lock
index d77663670ccc2bbf5d73db4d6afe6efdcfe34d35..bc2fb8f0b06ac19fe0883468608e3632d2c8f51e 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -68,11 +68,11 @@ extras = ["phonenumbers"]
 version = ">=3.0,<4.0"
 
 [package.dependencies.django-two-factor-auth]
-extras = ["call", "phonenumbers", "yubikey", "sms"]
+extras = ["sms", "call", "phonenumbers", "yubikey"]
 version = ">=1.11.0,<2.0.0"
 
 [package.dependencies.dynaconf]
-extras = ["toml", "ini", "yaml"]
+extras = ["ini", "yaml", "toml"]
 version = ">=2.0,<3.0"
 
 [package.extras]
@@ -965,7 +965,7 @@ description = "Plugin to catch bad style specific to Django Projects"
 name = "flake8-django"
 optional = false
 python-versions = "*"
-version = "1.1.0"
+version = "1.1.1"
 
 [package.dependencies]
 flake8 = "*"
@@ -1648,7 +1648,7 @@ description = "Python documentation generator"
 name = "sphinx"
 optional = false
 python-versions = ">=3.5"
-version = "3.0.3"
+version = "3.0.4"
 
 [package.dependencies]
 Jinja2 = ">=2.3"
@@ -1868,7 +1868,7 @@ description = "Twilio API client and TwiML generator"
 name = "twilio"
 optional = false
 python-versions = "*"
-version = "6.40.0"
+version = "6.41.0"
 
 [package.dependencies]
 PyJWT = ">=1.4.2"
@@ -2269,10 +2269,8 @@ flake8-builtins = [
     {file = "flake8_builtins-1.5.3-py2.py3-none-any.whl", hash = "sha256:7706babee43879320376861897e5d1468e396a40b8918ed7bccf70e5f90b8687"},
 ]
 flake8-django = [
-    {file = "flake8-django-1.1.0.tar.gz", hash = "sha256:93b101c6f683d94eeeb9c042261fda87e5e54c4f4e621549aade9ce39c1e4986"},
-    {file = "flake8_django-1.1.0-py3-none-any.whl", hash = "sha256:af88da63452b45e9bb5fdc2ddcdadbe0be13b0eaa55bd3e6906391f44f840e8f"},
-    {file = "flake8_django-1.1.0-py3.6.egg", hash = "sha256:510a75351d7fa8447a6d89a04128b1516ab3371738d3382c981151849d9ff53b"},
-    {file = "flake8_django-1.1.0-py3.7.egg", hash = "sha256:320f36bfe505e037e4609f93361f1024905dab48b7204d818dcd2863a55dccfd"},
+    {file = "flake8-django-1.1.1.tar.gz", hash = "sha256:fb4e8f669d3cf44297bb6e1c5d0a358ab0aba373cd4c69268cf2798de6bcbd9b"},
+    {file = "flake8_django-1.1.1-py3-none-any.whl", hash = "sha256:c71da0e61b6119dae91cbffdbdb00f1d6ebe3f5d0c43f5bf136929997ab0b72d"},
 ]
 flake8-docstrings = [
     {file = "flake8-docstrings-1.5.0.tar.gz", hash = "sha256:3d5a31c7ec6b7367ea6506a87ec293b94a0a46c0bce2bb4975b7f1d09b6f3717"},
@@ -2330,14 +2328,12 @@ jinja2 = [
     {file = "Jinja2-2.11.2.tar.gz", hash = "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0"},
 ]
 libsass = [
-    {file = "libsass-0.20.0-cp27-cp27m-macosx_10_14_intel.whl", hash = "sha256:107c409524c6a4ed14410fa9dafa9ee59c6bd3ecae75d73af749ab2b75685726"},
     {file = "libsass-0.20.0-cp27-cp27m-win32.whl", hash = "sha256:98f6dee9850b29e62977a963e3beb3cfeb98b128a267d59d2c3d675e298c8d57"},
     {file = "libsass-0.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:b077261a04ba1c213e932943208471972c5230222acb7fa97373e55a40872cbb"},
     {file = "libsass-0.20.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e6a547c0aa731dcb4ed71f198e814bee0400ce04d553f3f12a53bc3a17f2a481"},
     {file = "libsass-0.20.0-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:74f6fb8da58179b5d86586bc045c16d93d55074bc7bb48b6354a4da7ac9f9dfd"},
     {file = "libsass-0.20.0-cp36-cp36m-win32.whl", hash = "sha256:a43f3830d83ad9a7f5013c05ce239ca71744d0780dad906587302ac5257bce60"},
     {file = "libsass-0.20.0-cp36-cp36m-win_amd64.whl", hash = "sha256:fd19c8f73f70ffc6cbcca8139da08ea9a71fc48e7dfc4bb236ad88ab2d6558f1"},
-    {file = "libsass-0.20.0-cp37-abi3-macosx_10_14_x86_64.whl", hash = "sha256:8cf72552b39e78a1852132e16b706406bc76029fe3001583284ece8d8752a60a"},
     {file = "libsass-0.20.0-cp37-cp37m-win32.whl", hash = "sha256:7555d9b24e79943cfafac44dbb4ca7e62105c038de7c6b999838c9ff7b88645d"},
     {file = "libsass-0.20.0-cp37-cp37m-win_amd64.whl", hash = "sha256:794f4f4661667263e7feafe5cc866e3746c7c8a9192b2aa9afffdadcbc91c687"},
     {file = "libsass-0.20.0-cp38-cp38-win32.whl", hash = "sha256:3bc0d68778b30b5fa83199e18795314f64b26ca5871e026343e63934f616f7f7"},
@@ -2660,8 +2656,8 @@ spdx-license-list = [
     {file = "spdx_license_list-0.4.0.tar.gz", hash = "sha256:f8b5eeda2a1c88d8ce15f6324d5a6128a462932a2e55b032f017ac9a0e61f1c7"},
 ]
 sphinx = [
-    {file = "Sphinx-3.0.3-py3-none-any.whl", hash = "sha256:f5505d74cf9592f3b997380f9bdb2d2d0320ed74dd69691e3ee0644b956b8d83"},
-    {file = "Sphinx-3.0.3.tar.gz", hash = "sha256:62edfd92d955b868d6c124c0942eba966d54b5f3dcb4ded39e65f74abac3f572"},
+    {file = "Sphinx-3.0.4-py3-none-any.whl", hash = "sha256:779a519adbd3a70fc7c468af08c5e74829868b0a5b34587b33340e010291856c"},
+    {file = "Sphinx-3.0.4.tar.gz", hash = "sha256:ea64df287958ee5aac46be7ac2b7277305b0381d213728c3a49d8bb9b8415807"},
 ]
 sphinx-autodoc-typehints = [
     {file = "sphinx-autodoc-typehints-1.10.3.tar.gz", hash = "sha256:a6b3180167479aca2c4d1ed3b5cb044a70a76cccd6b38662d39288ebd9f0dff0"},
@@ -2731,7 +2727,7 @@ tqdm = [
     {file = "tqdm-4.46.0.tar.gz", hash = "sha256:4733c4a10d0f2a4d098d801464bdaf5240c7dadd2a7fde4ee93b0a0efd9fb25e"},
 ]
 twilio = [
-    {file = "twilio-6.40.0.tar.gz", hash = "sha256:41d220c7f36834cc10986e3364d40617b804cb01624542f90b5cf5dc79d89ee5"},
+    {file = "twilio-6.41.0.tar.gz", hash = "sha256:7c6329118583852bb06a2065dd2987a012310e5dfd834ef821d736b059bd1c74"},
 ]
 typed-ast = [
     {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"},