diff --git a/aleksis/apps/alsijil/static/css/alsijil/alsijil.css b/aleksis/apps/alsijil/static/css/alsijil/alsijil.css
deleted file mode 100644
index a30fb99bb8b239ca38f7f4d627329594387741c6..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/static/css/alsijil/alsijil.css
+++ /dev/null
@@ -1,60 +0,0 @@
-table.datatable a {
-  color: inherit !important;
-}
-
-table a.tr-link {
-  display: block;
-  width: inherit;
-  height: inherit;
-}
-
-.collapsible-icon-right {
-  align-self: end;
-  flex-grow: 100;
-  text-align: right !important;
-}
-
-@media only screen and (min-width: 1201px) {
-  .hide-on-extra-large-only {
-    display: none;
-  }
-}
-
-@media only screen and (max-width: 1200px) {
-  .show-on-extra-large {
-    display: none;
-  }
-}
-
-@media only screen and (max-width: 600px) {
-  .collection .collection-item.avatar {
-    padding-left: 20px;
-  }
-  .collection .collection-item.avatar:not(.circle-clipper) > .circle {
-    position: relative;
-    margin-bottom: 10px;
-  }
-}
-
-.collapsible li .show-on-active {
-  display: none;
-}
-
-.collapsible li.active .show-on-active {
-  display: block;
-}
-
-th.chip-height {
-  height: 67px;
-  line-height: 2.2;
-}
-
-.collection-item.chip-height {
-  height: 52px;
-  line-height: 2.2;
-}
-
-li.collection-item.button-height {
-  height: 58px;
-  line-height: 2.5;
-}
diff --git a/aleksis/apps/alsijil/static/css/alsijil/lesson.css b/aleksis/apps/alsijil/static/css/alsijil/lesson.css
deleted file mode 100644
index 3ca0427a81bba0793b78d41d884a5810f0080f74..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/static/css/alsijil/lesson.css
+++ /dev/null
@@ -1,140 +0,0 @@
-.alsijil-check-box {
-  margin-right: 10px;
-}
-
-.alsijil-check-box [type="checkbox"] {
-  padding-left: 30px;
-}
-
-.alsijil-lesson-cancelled {
-  text-decoration: line-through;
-}
-
-.alsijil-tardiness-text {
-  vertical-align: super;
-}
-
-@media only screen and (max-width: 992px) {
-  .no-mobile-card {
-    border: unset;
-    padding: unset;
-    margin: unset;
-    box-shadow: unset;
-  }
-  .no-mobile-card .card-content {
-    padding: unset;
-  }
-  table.alsijil-table.horizontal-on-small {
-    display: block;
-    max-width: calc(100vw - 40px);
-  }
-  table.alsijil-table.horizontal-on-small thead {
-    display: none;
-  }
-  table.alsijil-table.horizontal-on-small tbody {
-    overflow-x: scroll;
-    display: flex;
-    column-gap: 1rem;
-    flex-wrap: nowrap;
-    align-items: stretch;
-    scroll-snap-type: x proximity;
-  }
-
-  table.alsijil-table.horizontal-on-small tr {
-    flex-basis: min(75vw, 400px);
-    flex-shrink: 0;
-    flex-grow: 1;
-    border-radius: 8px;
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    scroll-snap-align: center;
-    transition: all 0.5s;
-    margin: 0.5rem 0 1rem 0;
-    background-color: #fff !important;
-    box-shadow:
-      0 2px 2px 0 rgba(0, 0, 0, 0.14),
-      0 3px 1px -2px rgba(0, 0, 0, 0.12),
-      0 1px 5px 0 rgba(0, 0, 0, 0.2);
-    padding: 24px;
-  }
-  table.alsijil-table.horizontal-on-small tr:first-of-type {
-    margin-inline-start: 0.4rem;
-    -moz-margin-start: 0.4rem;
-    -webkit-margin-start: 0.4rem;
-  }
-
-  table.alsijil-table.horizontal-on-small tr:last-of-type {
-    margin-inline-end: 0.4rem;
-    -moz-margin-end: 0.4rem;
-    -webkit-margin-end: 0.4rem;
-  }
-  table.alsijil-table.horizontal-on-small td.center-align {
-    text-align: left;
-  }
-  table.alsijil-table.horizontal-on-small .person-name {
-    font-size: 24px;
-    font-weight: 300;
-    display: block;
-    line-height: 32px;
-    margin-bottom: 8px;
-  }
-}
-
-.alsijil-time-head,
-.alsijil-object-head {
-  display: block;
-}
-
-.alsijil-time-head {
-  font-size: 2rem;
-  line-height: 1.1;
-}
-
-.alsijil-object-head {
-  font-size: 3rem;
-}
-
-@media only screen and (max-width: 600px) {
-  .alsijil-time-head {
-    font-size: 1.5rem;
-  }
-
-  .alsijil-object-head {
-    font-size: 2.2rem;
-    line-height: 1.4;
-  }
-}
-
-.alsijil-nav {
-  line-height: 36px;
-}
-
-.alsijil-header-nav-button {
-  height: 66px;
-  padding: 0;
-}
-
-.alsijil-header-nav-button.left {
-  margin-right: 5px;
-}
-
-.alsijil-header-nav-button.right {
-  margin-left: 5px;
-}
-
-.alsijil-header-nav-button i.material-icons {
-  line-height: 60px;
-  height: 60px;
-  font-size: 40px;
-}
-
-.alsijil-nav-header {
-  width: calc(100% + 40px);
-  padding: 10px 20px;
-  margin: -10px -20px 0;
-}
-
-.tabs-icons .tab svg.iconify {
-  display: block;
-}
diff --git a/aleksis/apps/alsijil/static/css/alsijil/person.css b/aleksis/apps/alsijil/static/css/alsijil/person.css
deleted file mode 100644
index d385d7b69e031fafd4c21d037b70b8f973e99b74..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/static/css/alsijil/person.css
+++ /dev/null
@@ -1,100 +0,0 @@
-span.input-field.inline > .select-wrapper > input {
-  color: red;
-  padding: 14px 0 0 0;
-  line-height: 2px;
-  height: 36px;
-  vertical-align: middle;
-}
-
-span.input-field.inline > .select-wrapper .caret {
-  top: 12px !important;
-}
-
-@media screen and (min-width: 1400px) {
-  li.collection-item form {
-    margin: -30px 0 -30px 0;
-  }
-
-  li.collection-item#title #select_all_span {
-    margin-top: 5px;
-  }
-}
-
-.collection {
-  overflow: visible;
-  overflow-x: hidden;
-}
-
-#select_all_container {
-  display: none;
-}
-
-#select_all_box:indeterminate + span:not(.lever):before {
-  top: -4px;
-  left: -6px;
-  width: 10px;
-  height: 12px;
-  border-top: none;
-  border-left: none;
-  border-right: white 2px solid;
-  border-bottom: none;
-  transform: rotate(90deg);
-  backface-visibility: hidden;
-  transform-origin: 100% 100%;
-}
-
-#select_all_box:indeterminate + span:not(.lever):after {
-  top: 0;
-  width: 20px;
-  height: 20px;
-  border: 2px solid currentColor;
-  background-color: currentColor;
-  z-index: 0;
-}
-
-#select_all_box_text {
-  color: #9e9e9e !important;
-}
-
-td.material-icons {
-  display: table-cell;
-}
-
-.medium-high {
-  position: relative;
-  top: 50%;
-  left: 50%;
-  transform: translate(-50%, 50%);
-}
-
-@media screen and (min-width: 600px) {
-  /* On medium and up devices */
-  .medium-high-right {
-    float: right;
-    transform: translate(0%, 50%);
-  }
-}
-
-@media screen and (max-width: 600px) {
-  /* Only on small devices */
-  .full-width-s {
-    width: 100%;
-  }
-
-  #heading {
-    display: block;
-  }
-  #heading + a {
-    float: none !important;
-  }
-}
-
-.overflow-x-scroll {
-  overflow-x: scroll;
-}
-
-figure.modal-content figcaption {
-  font-weight: 300;
-  font-size: 2.28rem;
-  line-height: 110%;
-}
diff --git a/aleksis/apps/alsijil/static/css/alsijil/week_view.css b/aleksis/apps/alsijil/static/css/alsijil/week_view.css
deleted file mode 100644
index a42111f55e31d3b3f518873218c76fd246106afe..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/static/css/alsijil/week_view.css
+++ /dev/null
@@ -1,122 +0,0 @@
-@media screen and (max-width: 600px) {
-  #toggle-row button[type="submit"] {
-    width: 100%;
-    margin-bottom: 1em;
-  }
-}
-
-.horizontal-scroll-container {
-  overflow-x: scroll;
-  display: flex;
-  column-gap: 1rem;
-  flex-wrap: nowrap;
-  align-items: stretch;
-  scroll-snap-type: x proximity;
-}
-
-.horizontal-scroll-container.vertical {
-  flex-wrap: wrap;
-  overflow-x: inherit;
-}
-
-.horizontal-scroll-container.vertical .horizontal-scroll-card {
-  margin-inline: 0;
-}
-
-dl {
-  margin: 0;
-  padding: 0;
-}
-
-dt {
-  font-weight: bold;
-}
-
-dd {
-  margin: 0;
-  padding: unset;
-}
-
-.horizontal-scroll-card {
-  flex-basis: min(75vw, 400px);
-  flex-shrink: 0;
-  flex-grow: 1;
-  border-radius: 8px;
-  display: flex;
-  flex-direction: column;
-  justify-content: space-between;
-  scroll-snap-align: center;
-  transition: all 0.5s;
-}
-
-.horizontal-scroll-card:first-of-type {
-  margin-inline-start: 0.4rem;
-  -moz-margin-start: 0.4rem;
-  -webkit-margin-start: 0.4rem;
-}
-
-.horizontal-scroll-card:last-of-type {
-  margin-inline-end: 0.4rem;
-  -moz-margin-end: 0.4rem;
-  -webkit-margin-end: 0.4rem;
-}
-
-.horizontal-scroll-card .card-action {
-  margin-bottom: 5px;
-}
-
-.horizontal-scroll-card .card-content .card-title {
-  display: flex;
-  justify-content: space-between;
-}
-
-.horizontal-scroll-card .card-content .card-title .subject {
-  flex-grow: 5;
-}
-
-.horizontal-scroll-card .one-line {
-  display: grid;
-  grid-auto-flow: column;
-  grid-template-rows: 1fr 1fr;
-}
-
-p.subtitle {
-  display: flex;
-  justify-content: space-between;
-  align-items: flex-end;
-}
-
-.btn-superflat ~ span {
-  line-height: 24px;
-}
-
-.btn-superflat,
-.btn-superflat:focus,
-.btn-superflat:active {
-  border: none;
-  line-height: 1;
-  height: 24px;
-  background: none;
-  font-weight: normal;
-}
-
-.btn-superflat i.material-icons {
-  vertical-align: middle;
-}
-
-.btn-superflat:hover {
-  cursor: pointer;
-}
-
-.unfold-trigger i.material-icons {
-  transition: transform 0.5s 0s ease-in-out;
-  transform: rotate(-90deg);
-}
-
-.unfold-trigger.vertical i.material-icons {
-  transform: rotate(-180deg);
-}
-
-.tabs-icons .tab svg.iconify {
-  display: block;
-}
diff --git a/aleksis/apps/alsijil/static/js/alsijil/week_view.js b/aleksis/apps/alsijil/static/js/alsijil/week_view.js
deleted file mode 100644
index 69124b9c41e656948bbced89b06b8d4edaf3b3c2..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/static/js/alsijil/week_view.js
+++ /dev/null
@@ -1,20 +0,0 @@
-$(document).ready(function () {
-  $("#id_group").change(function () {
-    $("#id_teacher").val("").formSelect();
-  });
-  $("#id_teacher").change(function () {
-    $("#id_group").val("").formSelect();
-  });
-  $("#toggle-row.pre-hidden").hide();
-});
-$("#toggle-button").click(function () {
-  $("#toggle-row").toggle();
-});
-$(".unfold-trigger").click(function (event) {
-  let target = event.target;
-  target.classList.toggle("vertical");
-  let next_container = $(target).parent().next(".horizontal-scroll-container");
-  if (next_container.length >= 1) {
-    next_container[0].classList.toggle("vertical");
-  }
-});
diff --git a/aleksis/apps/alsijil/templates/alsijil/absences/register.html b/aleksis/apps/alsijil/templates/alsijil/absences/register.html
deleted file mode 100644
index 590ad1e1f61d5ed09210101012aadaae9dda6f25..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/absences/register.html
+++ /dev/null
@@ -1,31 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load material_form i18n static any_js %}
-
-{% block browser_title %}{% blocktrans %}Register absence{% endblocktrans %}{% endblock %}
-{% block page_title %}{% blocktrans %}Register absence{% endblocktrans %}{% endblock %}
-
-{% block extra_head %}
-  {{ form.media.css }}
-  {% include_css "select2-materialize" %}
-{% endblock %}
-
-{% block content %}
-  <form method="post">
-    {% csrf_token %}
-    {% form form=register_absence_form %}{% endform %}
-    {% include "core/partials/save_button.html" %}
-  </form>
-
-  <script>
-    $(document).ready(function () {
-      $("#id_date_start").change(function () {
-        $("#id_date_end").val($("#id_date_start").val());
-        initDatePicker("#id_date_end");
-      });
-    });
-  </script>
-
-  {% include_js "select2-materialize" %}
-  {{ form.media.js }}
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html b/aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html
deleted file mode 100644
index 2c427ef2fa701a4e1beb36b40fc5c1de09ca8e44..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/absences/register_confirm.html
+++ /dev/null
@@ -1,82 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load material_form i18n static %}
-
-{% block browser_title %}{% blocktrans %}Confirm: Register absence{% endblocktrans %}{% endblock %}
-{% block page_title %}{% blocktrans %}Confirm: Register absence{% endblocktrans %}{% endblock %}
-
-{% block content %}
-  <p class="flow-text">
-    {% blocktrans %}
-      Do you really want to register the following absence?
-    {% endblocktrans %}
-  </p>
-  <div class="card">
-    <div class="card-content">
-      <div class="card-title">
-        {{ person }}
-      </div>
-      <div class="collection">
-        <div class="collection-item">
-          <i class="material-icons iconify left" data-icon="mdi:calendar-range"></i>
-          {{ form_data.date_start }}, {{ form_data.from_period }}. – {{ form_data.date_end }}, {{ form_data.to_period }}.
-          {% if form_data.date_start != form_data.date_end %}
-            <figure class="alert warning">
-              <i class="material-icons iconify left" data-icon="mdi:alert-outline"></i>
-              {% blocktrans %}
-                As the length of this absence is longer than one day,
-                please double check the correctness of your entry.
-              {% endblocktrans %}
-            </figure>
-          {% endif %}
-        </div>
-        <div class="collection-item">
-          <i class="material-icons iconify left" data-icon="mdi:format-list-bulleted"></i>
-          {% blocktrans with count=affected_lessons %} {{ count }} affected lessons {% endblocktrans %}
-          {% if affected_lessons == 0 %}
-            <div class="alert error">
-              <div>
-                <i class="material-icons iconify left" data-icon="mdi:alert-octagon-outline"></i>
-                {% blocktrans %}
-                  There are no affected lessons. Registering this absence won't have any effect.
-                {% endblocktrans %}
-              </div>
-            </div>
-          {% endif %}
-        </div>
-        <div class="collection-item">
-          <i class="material-icons iconify left" data-icon="mdi:label-outline"></i>
-          {% if form_data.absent %}
-            <span class="chip red white-text">{% trans "Absent" %}</span>
-            {% if form_data.excused and form_data.excuse_type %}
-              <span class="chip green white-text">{{ form_data.excuse_type.name }}</span>
-            {% elif form_data.excused %}
-              <span class="chip green white-text">{% trans "Excused" %}</span>
-            {% endif %}
-          {% else %}
-            {% trans "Reset status to 'not absent'" %}
-          {% endif %}
-        </div>
-        {% if form_data.remarks %}
-          <div class="collection-item">
-            <i class="material-icons iconify left" data-icon="mdi:pencil-outline"></i>
-            {{ form_data.remarks }}
-          </div>
-        {% endif %}
-      </div>
-    </div>
-  </div>
-
-  <form method="post">
-    {% csrf_token %}
-    <div class="hide">
-      {% form form=form %}{% endform %}
-    </div>
-    <input type="hidden" name="confirmed" value="1">
-    {% include "core/partials/save_button.html" %}
-    <a class="btn red waves-effect waves-light" href="{% url "register_absence" person.pk %}">
-      <i class="material-icons iconify left" data-icon="mdi:close"></i>
-      {% trans "Cancel" %}
-    </a>
-  </form>
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html b/aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html
deleted file mode 100644
index b5e57e0ee276ab395ebd824327c7584a063dba63..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/all_objects.html
+++ /dev/null
@@ -1,19 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load i18n rules static django_tables2 material_form %}
-
-{% block browser_title %}{% blocktrans %}All lessons{% endblocktrans %}{% endblock %}
-
-{% block page_title %}
-  {% blocktrans %}All lessons{% endblocktrans %}
-{% endblock %}
-
-{% block extra_head %}
-  {{ block.super }}
-  <link rel="stylesheet" href="{% static 'css/alsijil/alsijil.css' %}"/>
-{% endblock %}
-
-{% block content %}
-  {% include "alsijil/partials/objects_table.html" %}
-  <script src="{% static "js/multi_select.js" %}"></script>
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/groups.html b/aleksis/apps/alsijil/templates/alsijil/class_register/groups.html
deleted file mode 100644
index 43a6eeeb9349969b58c61111e6017b7d24e74f60..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/groups.html
+++ /dev/null
@@ -1,109 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load i18n static rules %}
-
-{% block browser_title %}{% blocktrans %}My groups{% endblocktrans %}{% endblock %}
-
-{% block page_title %}
-  {% blocktrans %}My groups{% endblocktrans %}
-{% endblock %}
-
-{% block extra_head %}
-  {{ block.super }}
-  <link rel="stylesheet" href="{% static 'css/alsijil/alsijil.css' %}"/>
-{% endblock %}
-
-{% block content %}
-  <table class="highlight responsive-table hide-on-med-and-down">
-    <thead>
-    <tr>
-      <th>{% trans "Name" %}</th>
-      <th>{% trans "Students" %}</th>
-      <th></th>
-    </tr>
-    </thead>
-    {% for group in groups %}
-      <tr>
-        <td>
-          {{ group }}
-        </td>
-        <td>{{ group.students_count }}</td>
-        <td>
-          <div class="right">
-            <a class="btn primary-color waves-effect waves-light" href="{% url "students_list" group.pk %}">
-              <i class="material-icons iconify left" data-icon="mdi:account-multiple-outline"></i>
-              {% trans "Students list" %}
-            </a>
-            <a class="btn secondary-color waves-effect waves-light" href="{% url "week_view" "group" group.pk %}">
-              <i class="material-icons iconify left" data-icon="mdi:view-week-outline"></i>
-              {% trans "Week view" %}
-            </a>
-            {% has_perm "alsijil.view_assigned_grouproles_rule" user group as can_view_assigned_group_roles %}
-            {% if can_view_assigned_group_roles %}
-              <a class="btn primary waves-effect waves-light" href="{% url 'assigned_group_roles' group.pk %}">
-                <i class="material-icons iconify left" data-icon="mdi:clipboard-account-outline"></i>
-                {% trans "Roles" %}
-              </a>
-            {% endif %}
-            <a class="btn primary waves-effect waves-light" href="{% url "full_register_group" group.pk %}"
-               target="_blank">
-              <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-              {% trans "Generate printout" %}
-            </a>
-          </div>
-        </td>
-      </tr>
-    {% empty %}
-      <tr>
-        <td class="flow-text" colspan="3">
-          {% blocktrans %}No groups available.{% endblocktrans %}
-        </td>
-      </tr>
-    {% endfor %}
-  </table>
-
-  <div class="hide-on-large-only">
-    <ul class="collection">
-      {% for group in groups %}
-        <li class="collection-item">
-          <span class="title">{{ group }}</span>
-          <p>
-            {{ group.students_count }} {% trans "students" %}
-          </p>
-          <p>
-            <a class="btn primary-color waves-effect waves-light" href="{% url "week_view" "group" group.pk %}">
-              <i class="material-icons iconify left" data-icon="mdi:account-multiple-outline"></i>
-              {% trans "Students list" %}
-            </a>
-          </p>
-          <p>
-            <a class="btn secondary-color waves-effect waves-light" href="{% url "week_view" "group" group.pk %}">
-              <i class="material-icons iconify left" data-icon="mdi:view-week-outline"></i>
-              {% trans "Week view" %}
-            </a>
-          </p>
-          {% has_perm "alsijil.view_assigned_grouproles_rule" user group as can_view_assigned_group_roles %}
-          {% if can_view_assigned_group_roles %}
-            <p>
-              <a class="btn primary waves-effect waves-light" href="{% url 'assigned_group_roles' group.pk %}">
-                <i class="material-icons iconify left" data-icon="mdi:clipboard-account-outline"></i>
-                {% trans "Roles" %}
-              </a>
-            </p>
-          {% endif %}
-          <p>
-            <a class="btn primary waves-effect waves-light" href="{% url "full_register_group" group.pk %}"
-               target="_blank">
-              <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-              {% trans "Generate printout" %}
-            </a>
-          </p>
-        </li>
-      {% empty %}
-          <li class="collection-item flow-text">
-            {% blocktrans %}No groups available.{% endblocktrans %}
-          </li>
-      {% endfor %}
-    </ul>
-  </div>
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html b/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
deleted file mode 100644
index e4e3960c8a1325acdca09ddcff95d958657d0f62..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/lesson.html
+++ /dev/null
@@ -1,125 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load week_helpers material_form_internal material_form i18n static rules time_helpers %}
-
-{% block browser_title %}{% blocktrans %}Lesson{% endblocktrans %}{% endblock %}
-{% block extra_head %}
-  {{ block.super }}
-  <link rel="stylesheet" href="{% static 'css/alsijil/lesson.css' %}"/>
-
-  {% if with_seating_plan %}
-    <link rel="stylesheet" href="{% static "css/stoelindeling/seating_plan.css" %}">
-  {% endif %}
-{% endblock %}
-
-{% block page_title %}
-  {% include "alsijil/partials/lesson/heading.html" %}
-{% endblock %}
-
-{% block content %}
-  {% has_perm "alsijil.view_lessondocumentation_rule" user register_object as can_view_lesson_documentation %}
-  {% has_perm "alsijil.edit_lessondocumentation_rule" user register_object as can_edit_lesson_documentation %}
-  {% has_perm "alsijil.edit_register_object_personalnote_rule" user register_object as can_edit_register_object_personalnote %}
-
-  <!-- Tab Buttons -->
-  <div class="col s12 margin-bottom">
-    <ul class="tabs tabs-icons tabs-fixed-width">
-      <li class="tab col">
-        <a href="#lesson-documentation">
-          <i class="material-icons iconify" data-icon="mdi:message-bulleted"></i>
-          {% trans "Period" %}
-        </a>
-      </li>
-      {% if register_object.label_ != "lesson_period" or not register_object.get_substitution.cancelled or not SITE_PREFERENCES.alsijil__block_personal_notes_for_cancelled %}
-        <li class="tab col">
-          <a href="#personal-notes">
-            <i class="material-icons iconify" data-icon="mdi:account-multiple-outline"></i>
-            {% trans "Persons" %}
-          </a>
-        </li>
-      {% endif %}
-      {% if with_seating_plan %}
-        <li class="tab col">
-          <a href="#seating-plan">
-            <i class="material-icons iconify" data-icon="mdi:seat-outline"></i>
-            {% trans "Seating plan" %}
-          </a>
-        </li>
-      {% endif %}
-      {% if prev_lesson %}
-        {% has_perm "alsijil.view_lessondocumentation_rule" user prev_lesson as can_view_prev_lesson_documentation %}
-        {% if prev_lesson.get_lesson_documentation and can_view_prev_lesson_documentation %}
-          <li class="tab col">
-            <a href="#previous-lesson">
-              <i class="material-icons iconify" data-icon="mdi:history"></i>
-              {% trans "Previous" %}
-            </a>
-          </li>
-        {% endif %}
-      {% endif %}
-      <li class="tab col">
-        <a href="#more">
-          <i class="material-icons iconify" data-icon="mdi:dots-horizontal"></i>
-          {% trans "More" %}
-        </a>
-      </li>
-    </ul>
-  </div>
-
-  <form method="post" class="row">
-    {% csrf_token %}
-
-    {% if not blocked_because_holidays %}
-      <div class="row">
-        <div class="col s12 no-padding" id="lesson-documentation">
-          {% include "alsijil/partials/lesson/tabs/documentation.html" %}
-        </div>
-
-        {% with prev_doc=prev_lesson.get_lesson_documentation %}
-          {% with absences=prev_lesson.get_absences tardinesses=prev_lesson.get_tardinesses extra_marks=prev_lesson.get_extra_marks %}
-            {% has_perm "alsijil.view_lessondocumentation_rule" user prev_lesson as can_view_prev_lesson_documentation %}
-            {% if prev_doc and can_view_prev_lesson_documentation %}
-              <div class="col s12 no-padding" id="previous-lesson">
-                {% include "alsijil/partials/lesson/tabs/previous_lesson.html" %}
-              </div>
-            {% endif %}
-          {% endwith %}
-        {% endwith %}
-
-        {% if register_object.label_ != "lesson_period" or not register_object.get_substitution.cancelled or not SITE_PREFERENCES.alsijil__block_personal_notes_for_cancelled %}
-          <div class="col s12 no-padding" id="personal-notes">
-            {% include "alsijil/partials/lesson/tabs/notes.html" %}
-          </div>
-        {% endif %}
-
-        {% if with_seating_plan %}
-          <div class="col s12 no-padding" id="seating-plan">
-            {% include "alsijil/partials/lesson/tabs/seating_plan.html" %}
-          </div>
-        {% endif %}
-
-        <div class="col s12 no-padding" id="more">
-          {% include "alsijil/partials/lesson/tabs/more.html" %}
-        </div>
-      </div>
-    {% else %}
-      <div class="row no-margin">
-        <div class="container">
-          <div class="card">
-            <div class="card-content center-align">
-              <p>
-                <i class="material-icons iconify medium orange-text" data-icon="mdi:alert-outline"></i>
-              </p>
-              <p class="card-title">
-                {% blocktrans %}
-                  This lesson overlaps with holidays and can't be edited.
-                {% endblocktrans %}
-              </p>
-              <span class="badge new blue no-float no-margin">{{ holiday }}</span>
-            </div>
-          </div>
-        </div>
-      </div>
-    {% endif %}
-  </form>
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/person.html b/aleksis/apps/alsijil/templates/alsijil/class_register/person.html
deleted file mode 100644
index 78792a793cce1b93577d7bf6ca55da771a43a7df..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/person.html
+++ /dev/null
@@ -1,185 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load rules data_helpers week_helpers i18n material_form static django_tables2 %}
-
-{% block extra_head %}
-  <link rel="stylesheet" href="{% static "css/alsijil/person.css" %}">
-  <script src="{% static "js/multi_select.js" %}" type="text/javascript"></script>
-{% endblock %}
-
-{% block browser_title %}{% blocktrans %}Class register: person{% endblocktrans %}{% endblock %}
-
-
-{% block page_title %}
-  {% has_perm "alsijil.view_my_students_rule" user as has_students %}
-  {% if has_students %}
-    <a href="{% url "my_students" %}"
-       class="btn-flat primary-color-text waves-light waves-effect">
-      <i class="material-icons iconify left" data-icon="mdi:chevron-left"></i> {% trans "Back" %}
-    </a>
-  {% endif %}
-  <span id="heading">
-    {% blocktrans with person=person %}
-      Class register overview for {{ person }}
-    {% endblocktrans %}
-  </span>
-  {% has_perm "alsijil.register_absence_rule" user person as can_register_absence %}
-  {% if can_register_absence %}
-    <a class="btn primary-color waves-effect waves-light right" href="{% url "register_absence" person.pk %}">
-      <i class="material-icons iconify left" data-icon="mdi:message-draw"></i>
-      {% trans "Register absence" %}
-    </a>
-  {% endif %}
-{% endblock %}
-
-{% block content %}
-  <div class="row">
-
-  <!-- Tab Buttons -->
-  <div class="col s12">
-    <ul class="tabs">
-      {% if register_object_table %}
-        <li class="tab">
-          <a href="#lesson-documentations">{% trans "Lesson documentations" %}</a>
-        </li>
-      {% endif %}
-      <li class="tab">
-        <a href="#personal-notes">{% trans "Personal notes" %}</a>
-      </li>
-      {% if stats %}
-        <li class="tab"><a href="#statistics">{% trans "Statistics" %}</a></li>
-      {% endif %}
-    </ul>
-  </div>
-
-  <!-- Lesson Documentation Tab -->
-  {% if register_object_table %}
-    <div class="col s12" id="lesson-documentations">
-      {% include "alsijil/partials/objects_table.html" with table=register_object_table filter_form=filter_form %}
-    </div>
-  {% endif %}
-
-  <!-- Personal Note Tab -->
-  <div class="col s12" id="personal-notes">
-    <div class="col s12" id="overview">
-      <h2>{% trans "Relevant personal notes" %}</h2>
-      <form class="modal" id="filter-modal">
-        <figure class="modal-content">
-          <figcaption>{% trans "Filter personal notes" %}</figcaption>
-          {% form form=personal_note_filter_form %}{% endform %}
-        </figure>
-        <div class="modal-footer">
-          <button type="button" class="btn-flat secondary-color-text waves-effect waves-ripple" id="remove-filters">
-            <i class="material-icons iconify left" data-icon="mdi:close"></i>{% trans "Clear all filters" %}
-          </button>
-          <button type="button" class="modal-close btn-flat red-text waves-effect waves-ripple waves-red">
-            <i class="material-icons iconify left" data-icon="mdi:close-circle-outline"></i>{% trans "Close" %}
-          </button>
-          <button type="submit" class="modal-close btn-flat primary-color-text waves-effect waves-ripple waves-light">
-            <i class="material-icons iconify left" data-icon="mdi:filter-outline"></i>{% trans "Filter" %}
-          </button>
-        </div>
-      </form>
-      {% has_perm "alsijil.edit_person_overview_personalnote_rule" user person as can_mark_all_as_excused %}
-      <div class="row">
-        <div class="col s12 m3 l5 push-m9 push-l7">
-          <button
-              class="modal-trigger btn primary-color waves-effect waves-light
-              {% if can_mark_all_as_excused %} medium-high-right {% endif %}"
-              data-target="filter-modal"
-              type="button">
-            {% trans "Filter results" %} ({{ num_filters }})
-            <i class="material-icons iconify right" data-icon="mdi:filter-outline"></i>
-          </button>
-        </div>
-        <form action="" method="post" class="">
-          {% csrf_token %}
-          <div class="col s12 m9 l7 pull-m3 pull-l5 row">
-            {% if can_mark_all_as_excused %}
-              <div class="col s12 m9">
-                {% form form=action_form %}{% endform %}
-              </div>
-              <div class="col s12 m3">
-                <button type="submit" class="btn waves-effect waves-light medium-high full-width-s">
-                  Run <i class="material-icons iconify right" data-icon="mdi:send-outline"></i>
-                </button>
-              </div>
-            {% endif %}
-          </div>
-          <div class="col s12 overflow-x-scroll">
-            {% render_table personal_notes_table %}
-          </div>
-        </form>
-      </div>
-    </div>
-  </div>
-
-  <!-- Statistics Tab -->
-  {% if stats %}
-    <div class="col s12" id="statistics">
-      <h2>{% trans "Statistics on absences, tardiness and remarks" %}</h2>
-      <ul class="collapsible">
-        {% for school_term, stat in stats %}
-          <li {% if forloop.first %}class="active"{% endif %}>
-            <div class="collapsible-header">
-              <i class="material-icons iconify" data-icon="mdi:calendar-range"></i>{{ school_term }}</div>
-            <div class="collapsible-body">
-              <table>
-                <tr>
-                  <th colspan="3">{% trans 'Absences' %}</th>
-                  <td>{{ stat.absences_count }}</td>
-                </tr>
-                <tr>
-                  <td rowspan="{{ excuse_types.count|add:3 }}" class="hide-on-small-only">{% trans "thereof" %}</td>
-                  <td rowspan="{{ excuse_types.count|add:3 }}" class="hide-on-med-and-up"></td>
-                  <th colspan="2">{% trans 'Excused' %}</th>
-                  <td>{{ stat.excused }}</td>
-                </tr>
-                <tr>
-                  <td rowspan="{{ excuse_types.count|add:1 }}" class="hide-on-small-only">{% trans "thereof" %}</td>
-                  <td rowspan="{{ excuse_types.count|add:1 }}" class="hide-on-med-and-up"></td>
-                  <th colspan="2" class="truncate">{% trans 'Without Excuse Type' %}</th>
-                  <td>{{ stat.excused_no_excuse_type }}</td>
-                </tr>
-                {% for excuse_type in excuse_types %}
-                  <tr>
-                    <th>{{ excuse_type.name }}</th>
-                    <td>{{ stat|get_dict:excuse_type.count_label }}</td>
-                  </tr>
-                {% endfor %}
-                <tr>
-                  <th colspan="2">{% trans 'Unexcused' %}</th>
-                  <td>{{ stat.unexcused }}</td>
-                </tr>
-                {% for excuse_type in excuse_types_not_absent %}
-                  <tr>
-                    <th colspan="3">{{ excuse_type.name }}</th>
-                    <td>{{ stat|get_dict:excuse_type.count_label }}</td>
-                  </tr>
-                  {% endfor %}
-                <tr>
-                  <th colspan="3">{% trans 'Tardiness' %}</th>
-                  <td>{{ stat.tardiness }}'/{{ stat.tardiness_count }} &times;</td>
-                </tr>
-                {% for extra_mark in extra_marks %}
-                  <tr>
-                    <th colspan="3">{{ extra_mark.name }}</th>
-                    <td>{{ stat|get_dict:extra_mark.count_label }}</td>
-                  </tr>
-                {% endfor %}
-              </table>
-            </div>
-          </li>
-        {% endfor %}
-      </ul>
-    </div>
-  {% endif %}
-  <script type="text/javascript">
-    $("#remove-filters").click(function () {
-      $("#filter-modal").trigger("reset");
-      $("#filter-modal input, #filter-modal select").each(function () {
-        $(this).val("");
-      })
-    })
-  </script>
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/persons.html b/aleksis/apps/alsijil/templates/alsijil/class_register/persons.html
deleted file mode 100644
index 6873ddc84a1cdbad62ff43b09d1d50ece163a01a..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/persons.html
+++ /dev/null
@@ -1,64 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load i18n week_helpers data_helpers static time_helpers %}
-
-{% block browser_title %}{% blocktrans %}My students{% endblocktrans %}{% endblock %}
-
-
-{% block page_title %}
-  {% blocktrans %}My students{% endblocktrans %}
-{% endblock %}
-
-{% block extra_head %}
-  {{ block.super }}
-  <link rel="stylesheet" href="{% static 'css/alsijil/alsijil.css' %}"/>
-{% endblock %}
-
-
-{% block content %}
-  <ul class="collapsible">
-    {% for group, persons in groups %}
-      <li {% if forloop.first %}class="active"{% endif %}>
-        <div class="collapsible-header">
-          <div class="hundred-percent">
-            <span class="right show-on-active hide-on-small-and-down">
-              <a class="btn primary-color waves-effect waves-light" href="{% url "week_view" "group" group.pk %}">
-                <i class="material-icons iconify left" data-icon="mdi:view-week-outline"></i>
-                {% trans "Week view" %}
-              </a>
-              <a class="btn waves-effect waves-light" href="{% url "full_register_group" group.pk %}" target="_blank">
-                <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-                {% trans "Generate printout" %}
-              </a>
-            </span>
-
-            <h2>{{ group.name }}
-              <span class="chip">{{ group.school_term }}</span>
-            </h2>
-
-            <p class="show-on-active hide-on-med-and-up">
-              <a class="btn primary-color waves-effect waves-light hundred-percent"
-                 href="{% url "week_view" "group" group.pk %}">
-                <i class="material-icons iconify left" data-icon="mdi:view-week-outline"></i>
-                {% trans "Week view" %}
-              </a>
-            </p>
-            <p class="show-on-active hide-on-med-and-up">
-              <a class="btn waves-effect waves-light hundred-percent" href="{% url "full_register_group" group.pk %}"
-                 target="_blank">
-                <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-                {% trans "Generate printout" %}
-              </a>
-            </p>
-          </div>
-        </div>
-
-        <div class="collapsible-body">
-          {% include "alsijil/partials/persons_with_stats.html" with persons=persons %}
-        </div>
-      </li>
-    {% endfor %}
-  </ul>
-
-  {% include "alsijil/partials/legend.html" %}
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html b/aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html
deleted file mode 100644
index 72bb8071f1b05f7e911bf75776a1740a9a5d5ae9..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/students_list.html
+++ /dev/null
@@ -1,49 +0,0 @@
-{# -*- engine:django -*- #}
-{% extends "core/base.html" %}
-{% load static time_helpers data_helpers week_helpers i18n %}
-
-{% block browser_title %}{% blocktrans with group=group %}Students list: {{ group }}{% endblocktrans %}{% endblock %}
-
-{% block page_title %}
-  <a href="{% url "my_groups" %}"
-     class="btn-flat primary-color-text waves-light waves-effect">
-    <i class="material-icons iconify left" data-icon="mdi:chevron-left"></i> {% trans "Back" %}
-  </a>
-  {% blocktrans with group=group %}Students list: {{ group }}{% endblocktrans %}
-  <span class="right show-on-active hide-on-small-and-down">
-    <a class="btn primary-color waves-effect waves-light" href="{% url "week_view" "group" group.pk %}">
-      <i class="material-icons iconify left" data-icon="mdi:view-week-outline"></i>
-      {% trans "Week view" %}
-    </a>
-    <a class="btn waves-effect waves-light" href="{% url "full_register_group" group.pk %}" target="_blank">
-      <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-      {% trans "Generate printout" %}
-    </a>
-  </span>
-{% endblock %}
-
-{% block extra_head %}
-  {{ block.super }}
-  <link rel="stylesheet" href="{% static 'css/alsijil/alsijil.css' %}"/>
-{% endblock %}
-
-{% block content %}
-  <p class="show-on-active hide-on-med-and-up">
-    <a class="btn primary-color waves-effect waves-light hundred-percent"
-       href="{% url "week_view" "group" group.pk %}">
-       <i class="material-icons iconify left" data-icon="mdi:view-week-outline"></i>
-      {% trans "Week view" %}
-    </a>
-  </p>
-  <p class="show-on-active hide-on-med-and-up">
-    <a class="btn waves-effect waves-light hundred-percent" href="{% url "full_register_group" group.pk %}"
-       target="_blank">
-      <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-      {% trans "Generate printout" %}
-    </a>
-  </p>
-
-  {% include "alsijil/partials/persons_with_stats.html" with persons=persons %}
-
-  {% include "alsijil/partials/legend.html" %}
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html b/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
deleted file mode 100644
index 081f38c5321359ca92241c21ba1f9b1fc71aa926..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/class_register/week_view.html
+++ /dev/null
@@ -1,443 +0,0 @@
-{# -*- engine:django -*- #}
-
-{% extends "core/base.html" %}
-{% load material_form i18n week_helpers static data_helpers rules time_helpers %}
-
-{% block browser_title %}{% blocktrans %}Week view{% endblocktrans %}{% endblock %}
-
-{% block extra_head %}
-  {{ block.super }}
-  <link rel="stylesheet" href="{% static 'css/alsijil/alsijil.css' %}"/>
-  <link rel="stylesheet" href="{% static 'css/alsijil/week_view.css' %}"/>
-{% endblock %}
-
-{% block content %}
-  <script type="text/javascript" src="{% static "js/helper.js" %}"></script>
-  {{ week_select|json_script:"week_select" }}
-  <script type="text/javascript" src="{% static "js/chronos/week_select.js" %}"></script>
-  <div class="row">
-    <div id="toggle-row" class="col s12 m8 l10 {% if lesson_periods %}pre-hidden{% endif %}">
-      <form method="post" action="">
-        {% csrf_token %}
-        {% form form=select_form %}{% endform %}
-        <button type="submit" class="btn waves-effect waves-light primary-color">
-          <i class="material-icons iconify left" data-icon="mdi:check"></i>
-          {% blocktrans %}Select{% endblocktrans %}
-        </button>
-      </form>
-    </div>
-    <div class="col s12 m4 l2 right">
-      <button type="button" class="btn waves-effect waves-light hundred-percent" id="toggle-button">
-        <i class="material-icons iconify left" data-icon="mdi:filter-outline"></i> {% trans "Toggle filters" %}
-      </button>
-    </div>
-  </div>
-
-
-  <div class="row no-margin">
-    <h4 class="col s12 m6">{% blocktrans with el=el week=week.week %}CW {{ week }}:
-      {{ instance }}{% endblocktrans %} </h4>
-    {% include "chronos/partials/week_select.html" with wanted_week=week %}
-  </div>
-
-  {% if group %}
-    <p class="hide-on-med-and-down">
-      <a class="btn primary-color waves-effect waves-light" href="{% url "students_list" group.pk %}">
-        <i class="material-icons iconify left" data-icon="mdi:account-multiple-outline"></i>
-        {% trans "Students list" %}
-      </a>
-      <a class="btn waves-effect waves-light" href="{% url "full_register_group" group.pk %}" target="_blank">
-        <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-        {% trans "Generate printout" %}
-      </a>
-    </p>
-
-    <p class="hide-on-med-and-up">
-      <a class="btn primary-color waves-effect waves-light hundred-percent"
-         href="{% url "students_list" group.pk %}">
-        <i class="material-icons iconify left" data-icon="mdi:account-multiple-outline"></i>
-        {% trans "Students list" %}
-      </a>
-    </p>
-    <p class="hide-on-med-and-up">
-      <a class="btn waves-effect waves-light hundred-percent" href="{% url "full_register_group" group.pk %}"
-         target="_blank">
-        <i class="material-icons iconify left" data-icon="mdi:printer-outline"></i>
-        {% trans "Generate printout" %}
-      </a>
-    </p>
-  {% endif %}
-
-  {% if lesson_periods %}
-  <div class="col s12 margin-bottom">
-    <ul class="tabs tabs-icons tabs-fixed-width">
-      <li class="tab col">
-        <a class="active" href="#week-overview">
-          <i class="material-icons iconify" data-icon="mdi:message-bulleted"></i>
-          {% trans "Lesson documentations" %}
-        </a>
-      </li>
-      <li class="tab col">
-        <a href="#personal-notes">
-          <i class="material-icons iconify" data-icon="mdi:account-multiple-outline"></i>
-          {% trans "Persons" %}
-        </a>
-      </li>
-      {% if group_roles %}
-        <li class="tab col">
-          <a href="#group-roles">
-            <i class="material-icons iconify" data-icon="mdi:clipboard-account-outline"></i>
-            {% trans "Group roles" %}
-          </a>
-        </li>
-      {% endif %}
-    </ul>
-  </div>
-  {% endif %}
-
-  {% if lesson_periods %}
-    <div class="row">
-      <div class="col s12" id="week-overview">
-        {% for weekday, objects in regrouped_objects.items %}
-          {% with weekdays|get_dict:objects.0.weekday as advanced_weekday %}
-            {% if advanced_weekday.holiday and not SITE_PREFERENCES.alsijil__allow_entries_in_holidays %}
-              <div class="card">
-                <div class="card-content">
-                    <span class="card-title">
-                      {{ advanced_weekday.name }}, {{ advanced_weekday.date }} <span
-                      class="badge new blue no-float">{{ advanced_weekday.holiday }}</span>
-                    </span>
-                </div>
-              </div>
-            {% else %}
-              <div class="card show-on-extra-large">
-                <div class="card-content">
-                    <span class="card-title">
-                      {{ advanced_weekday.name }}, {{ advanced_weekday.date }}
-                    </span>
-                  <table class="striped datatable">
-                    <thead>
-                    <tr>
-                      <th></th>
-                      <th>{% blocktrans %}Period{% endblocktrans %}</th>
-                      {% if not group %}
-                        <th>{% blocktrans %}Groups{% endblocktrans %}</th>
-                      {% endif %}
-                      <th>{% blocktrans %}Subject{% endblocktrans %}</th>
-                      <th>{% blocktrans %}Teachers{% endblocktrans %}</th>
-                      <th>{% blocktrans %}Lesson topic{% endblocktrans %}</th>
-                      <th>{% blocktrans %}Homework{% endblocktrans %}</th>
-                      <th>{% blocktrans %}Group note{% endblocktrans %}</th>
-                    </tr>
-                    </thead>
-                    <tbody>
-                    {% for register_object in objects %}
-                      {% has_perm "alsijil.view_lessondocumentation_rule" user register_object as can_view_lesson_documentation %}
-                      {% if can_view_lesson_documentation %}
-                        <tr>
-                          <td class="center-align">
-                            {% include "alsijil/partials/lesson_status.html" with register_object=register_object %}
-                          </td>
-                          <td class="tr-link">
-                            <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                              {% if register_object.period %}
-                                {{ register_object.period.period }}.
-                              {% else %}
-                                {{ register_object.period_from_on_day }}.–
-                                {{ register_object.period_to_on_day }}.
-                              {% endif %}
-                            </a>
-                          </td>
-                          {% if not group %}
-                            <td>
-                              <a class="tr-link"
-                                 href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                                {% if register_object.lesson %}
-                                  {{ register_object.lesson.group_names }}
-                                {% else %}
-                                  {{ register_object.group_names }}
-                                {% endif %}
-                              </a>
-                            </td>
-                          {% endif %}
-                          <td>
-                            <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                              {% if register_object.get_subject %}
-                                {{ register_object.get_subject.name }}
-                              {% elif register_object.subject %}
-                                {{ register_object.subject }}
-                              {% else %}
-                                {% trans "Event" %} ({{ register_object.title }})
-                              {% endif %}
-                            </a>
-                          </td>
-                          <td>
-                            <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                              {{ register_object.teacher_names }}
-                            </a>
-                          </td>
-                          <td>
-                            <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                              {% firstof register_object.get_lesson_documentation.topic "–" %}
-                            </a>
-                          </td>
-                          <td>
-                            <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                              {% firstof register_object.get_lesson_documentation.homework "–" %}
-                            </a>
-                          </td>
-                          <td>
-                            <a class="tr-link"
-                               href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                              {% firstof register_object.get_lesson_documentation.group_note "–" %}
-                            </a>
-                          </td>
-                        </tr>
-                      {% endif %}
-                    {% endfor %}
-                    </tbody>
-                  </table>
-                </div>
-              </div>
-              <ul class="collapsible hide-on-extra-large-only hide-on-small-only">
-                <li class="">
-                  <div class="collapsible-header flow-text">
-                    {{ advanced_weekday.name }}, {{ advanced_weekday.date }} <i
-                    class="material-icons iconify collapsible-icon-right" data-icon="mdi:unfold-more-horizontal"></i>
-                  </div>
-                  <div class="collapsible-body">
-                    <div class="collection">
-                      {% for register_object in objects %}
-                        {% has_perm "alsijil.view_lessondocumentation_rule" user register_object as can_view_lesson_documentation %}
-                        {% if can_view_lesson_documentation %}
-                          <a class="collection-item avatar"
-                             href="{{ register_object.alsijil_url }}?back={{ back_url }}">
-                            {% include "alsijil/partials/lesson_status.html" with register_object=register_object css_class="materialize-circle" color_suffix=" " %}
-                            <table>
-                              <tr>
-                                <th>{% trans "Subject" %}</th>
-                                <td>
-                                  {% if register_object.period %}
-                                    {{ register_object.period.period }}.
-                                  {% else %}
-                                    {{ register_object.period_from_on_day }}.–
-                                    {{ register_object.period_to_on_day }}.
-                                  {% endif %}
-                                  {% if register_object.get_subject %}
-                                    {{ register_object.get_subject.name }}
-                                  {% elif register_object.subject %}
-                                    {{ register_object.subject }}
-                                  {% else %}
-                                    {% trans "Event" %}
-                                  {% endif %}
-                                </td>
-                              </tr>
-                              {% if not group %}
-                                <tr>
-                                  <th>{% trans "Groups" %}</th>
-                                  <td>
-                                    {% if register_object.lesson %}
-                                      {{ register_object.lesson.group_names }}
-                                    {% else %}
-                                      {{ register_object.group_names }}
-                                    {% endif %}
-                                  </td>
-                                </tr>
-                              {% endif %}
-                              <tr>
-                                <th>{% trans "Teachers" %}</th>
-                                <td>
-                                  {{ register_object.teacher_names }}
-                                </td>
-                              </tr>
-                              <tr>
-                                <th>{% trans "Lesson topic" %}</th>
-                                <td>{% firstof register_object.get_lesson_documentation.topic "–" %}</td>
-                              </tr>
-                              {% with register_object.get_lesson_documentation as lesson_documentation %}
-                                {% if lesson_documentation.homework %}
-                                  <tr>
-                                    <th>{% trans "Homework" %}</th>
-                                    <td>{% firstof register_object.get_lesson_documentation.homework "–" %}</td>
-                                  </tr>
-                                {% endif %}
-                                {% if lesson_documentation.group_note %}
-                                  <tr>
-                                    <th>{% trans "Group note" %}</th>
-                                    <td>{% firstof register_object.get_lesson_documentation.group_note "–" %}</td>
-                                  </tr>
-                                {% endif %}
-                              {% endwith %}
-                            </table>
-                          </a>
-                        {% endif %}
-                      {% endfor %}
-                    </div>
-                  </div>
-                </li>
-              </ul>
-              <div class="hide-on-med-and-up">
-                <h3>{{ advanced_weekday.name }}</h3>
-                <p class="subtitle">
-                  <span>{{ advanced_weekday.date }}</span>
-                  <button class="btn-superflat right waves-effect unfold-trigger">
-                    {% trans "Unfold" %}
-                    <i class="material-icons iconify" data-icon="mdi:unfold-less-horizontal"></i>
-                  </button>
-                </p>
-                <div class="horizontal-scroll-container">
-                  {% for register_object in objects %}
-                    <div class="card horizontal-scroll-card">
-                      <div class="card-content">
-                        <span class="card-title">
-                          <span class="period">
-                            {% if register_object.period %}
-                              {{ register_object.period.period }}.
-                            {% else %}
-                              {{ register_object.period_from_on_day }}.–{{ register_object.period_to_on_day }}.
-                            {% endif %}
-                          </span>
-                          <span class="subject">
-                            {% if register_object.get_subject %}
-                              {{ register_object.get_subject.name }}
-                            {% elif register_object.subject %}
-                              {{ register_object.subject }}
-                            {% else %}
-                              {% trans "Event" %}
-                            {% endif %}
-                          </span>
-                          <span class="lesson-icon">
-                            {% include "alsijil/partials/lesson_status.html" with register_object=register_object %}
-                          </span>
-                        </span>
-                        <dl>
-                          <div class="one-line">
-                            {% if not group %}
-                              <dt>{% trans "Groups" %}</dt>
-                              <dd>
-                                {% if register_object.lesson %}
-                                  {{ register_object.lesson.group_names }}
-                                {% else %}
-                                  {{ register_object.group_names }}
-                                {% endif %}
-                              </dd>
-                            {% endif %}
-
-                            <dt>{% trans "Teachers" %}</dt>
-                            <dd>
-                              {{ register_object.teacher_names }}
-                            </dd>
-                          </div>
-
-                          <dt>{% trans "Lesson topic" %}</dt>
-                          <dd>{% firstof register_object.get_lesson_documentation.topic "–" %}</dd>
-
-                          {% with register_object.get_lesson_documentation as lesson_documentation %}
-                            {% if lesson_documentation.homework %}
-                              <dt>{% trans "Homework" %}</dt>
-                              <dd>{% firstof register_object.get_lesson_documentation.homework "–" %}</dd>
-                            {% endif %}
-                            {% if lesson_documentation.group_note %}
-                              <dt>{% trans "Group note" %}</dt>
-                              <dd>{% firstof register_object.get_lesson_documentation.group_note "–" %}</dd>
-                            {% endif %}
-                          {% endwith %}
-                        </dl>
-                      </div>
-                      <div class="card-action">
-                        <a href="{{ register_object.alsijil_url }}?back={{ back_url }}"
-                           class="">
-                          {% trans "Visit lesson overview" %}
-                        </a>
-                      </div>
-                    </div>
-                  {% endfor %}
-                </div>
-              </div>
-            {% endif %}
-          {% endwith %}
-        {% endfor %}
-      </div>
-      <div class="col s12" id="personal-notes">
-        <div class="card">
-          <div class="card-content">
-              <span class="card-title">
-                {% blocktrans %}Personal notes{% endblocktrans %}
-              </span>
-            {% for person in persons %}
-              <h5 class="card-title">
-                <a href="{% url "overview_person" person.person.pk %}">{{ person.person.full_name }}</a>
-                {% has_perm "alsijil.register_absence_rule" user person.person as can_register_absence %}
-                {% if can_register_absence %}
-                  <a class="btn primary-color waves-effect waves-light right"
-                     href="{% url "register_absence" person.person.pk %}">
-                    <i class="material-icons iconify left" data-icon="mdi:message-draw"></i>
-                    {% trans "Register absence" %}
-                  </a>
-                {% endif %}
-              </h5>
-              {% if group_roles %}
-                <p>
-                  {% for assignment in person.group_roles %}
-                    {% include "alsijil/group_role/chip.html" with role=assignment.role small=assignment.date_range %}
-                  {% endfor %}
-                </p>
-              {% endif %}
-              <p class="card-text">
-                {% trans "Absent" %}: {{ person.person.absences_count }}
-                ({{ person.person.unexcused_count }} {% trans "unexcused" %})
-              </p>
-              <p class="card-text">
-                {% trans "Summed up tardiness" %}: {% firstof person.person.tardiness_sum|to_time|time:"H\h i\m" "–" %}
-              </p>
-              <p class="card-text">
-                {% trans "Count of tardiness" %}: {{ person.person.tardiness_count }} &times;
-              </p>
-              {% for extra_mark in extra_marks %}
-                <p class="card-text">
-                  {{ extra_mark.name }}: {{ person.person|get_dict:extra_mark.count_label }}
-                </p>
-              {% endfor %}
-              {% for note in person.personal_notes %}
-                <blockquote>
-                  {{ note.remarks }}
-                  <em class="right">
-                    <a href="{{ note.register_object.alsijil_url }}">
-                      {{ note.date_formatted }}, {{ note.register_object.get_subject.name }}
-                    </a>
-                  </em>
-                </blockquote>
-              {% endfor %}
-            {% endfor %}
-          </div>
-        </div>
-      </div>
-      {% if group_roles %}
-        <div class="col s12" id="group-roles">
-          {% include "alsijil/group_role/partials/assigned_roles.html" with roles=group_roles group=group back_url=back_url %}
-        </div>
-      {% endif %}
-    </div>
-  {% else %}
-    <div class="card">
-      <div class="card-content">
-        <span class="card-title">
-          <i class="material-icons iconify red-text left" data-icon="mdi:alert-outline"></i>
-          {% blocktrans %}No lessons available{% endblocktrans %}
-        </span>
-        <p>
-          {% blocktrans %}
-            There are no lessons for the selected group or teacher in this week.
-          {% endblocktrans %}
-        </p>
-      </div>
-    </div>
-  {% endif %}
-
-  <script src="{% static 'js/alsijil/week_view.js' %}" type="text/javascript"></script>
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html b/aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html
deleted file mode 100644
index 6fc6faefb2543cecf32b02e7dcb7ea2a40f3d73b..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/excuse_type/create.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{# -*- engine:django -*- #}
-
-{% extends "core/base.html" %}
-{% load material_form i18n %}
-
-{% block browser_title %}{% blocktrans %}Create excuse type{% endblocktrans %}{% endblock %}
-{% block page_title %}{% blocktrans %}Create excuse type{% endblocktrans %}{% endblock %}
-
-{% block content %}
-  {% include "alsijil/excuse_type/warning.html" %}
-
-  <form method="post">
-    {% csrf_token %}
-    {% form form=form %}{% endform %}
-    {% include "core/partials/save_button.html" %}
-  </form>
-
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html b/aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html
deleted file mode 100644
index 78396ed66264cc19abdac2085d1cc89ff931bb38..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/excuse_type/edit.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{# -*- engine:django -*- #}
-
-{% extends "core/base.html" %}
-{% load material_form i18n %}
-
-{% block browser_title %}{% blocktrans %}Edit excuse type{% endblocktrans %}{% endblock %}
-{% block page_title %}{% blocktrans %}Edit excuse type{% endblocktrans %}{% endblock %}
-
-{% block content %}
-
-  <form method="post">
-    {% csrf_token %}
-    {% form form=form %}{% endform %}
-    {% include "core/partials/save_button.html" %}
-  </form>
-
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html b/aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html
deleted file mode 100644
index e6235a32f382aa9cf80ae3d8ad0ad1704e25e2e9..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/excuse_type/list.html
+++ /dev/null
@@ -1,23 +0,0 @@
-{# -*- engine:django -*- #}
-
-{% extends "core/base.html" %}
-
-{% load i18n rules %}
-{% load render_table from django_tables2 %}
-
-{% block browser_title %}{% blocktrans %}Excuse types{% endblocktrans %}{% endblock %}
-{% block page_title %}{% blocktrans %}Excuse types{% endblocktrans %}{% endblock %}
-
-{% block content %}
-  {% include "alsijil/excuse_type/warning.html" %}
-
-  {% has_perm "alsijil.add_excusetype_rule" user as add_excusetype %}
-  {% if add_excusetype %}
-    <a class="btn green waves-effect waves-light" href="{% url 'create_excuse_type' %}">
-      <i class="material-icons iconify left"data-icon="mdi:plus"></i>
-      {% trans "Create excuse type" %}
-    </a>
-  {% endif %}
-
-  {% render_table table %}
-{% endblock %}
diff --git a/aleksis/apps/alsijil/templates/alsijil/excuse_type/warning.html b/aleksis/apps/alsijil/templates/alsijil/excuse_type/warning.html
deleted file mode 100644
index 811b90b33381c578469552154092333b2b38624d..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/excuse_type/warning.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{% load i18n %}
-<figure class="alert warning">
-  <i class="material-icons iconify left" data-icon="mdi:alert-outline"></i>
-  {% blocktrans %}
-    This function should only be used to define alternatives to the default excuse which also will be counted extra.
-    Don't use this to create a default excuse or if you don't divide between different types of excuse.
-  {% endblocktrans %}
-</figure>
diff --git a/aleksis/apps/alsijil/templates/alsijil/notifications/check.html b/aleksis/apps/alsijil/templates/alsijil/notifications/check.html
deleted file mode 100644
index d76a1a0a5abfc6fb8b7722d5a4cf16ff927f069a..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/notifications/check.html
+++ /dev/null
@@ -1,4 +0,0 @@
-{% load i18n %}{% trans "Please check if the following class register entries are complete and correct:" %}
-{% for entry in items %}
-- {{ entry.register_object }} ({{ entry.date }})
-{% endfor %}
\ No newline at end of file
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html
deleted file mode 100644
index 132e97f05acd0216d59f89a12cab08b96e123cc5..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/heading.html
+++ /dev/null
@@ -1,110 +0,0 @@
-{% load i18n %}
-
-{% if next_lesson_person or prev_lesson_person or back_to_week_url %}
-  <div class="row margin-bottom alsijil-nav-header">
-    <div class="col s12 no-padding">
-      {# Back to week view #}
-      {% if back_to_week_url %}
-        <a href="{{ back_to_week_url }}"
-           class="btn secondary-color waves-light waves-effect margin-bottom {% if prev_lesson_person or next_lesson_person %}hide-on-extra-large-only{% endif %}">
-          <i class="material-icons iconify left" data-icon="mdi:chevron-left"></i> {% trans "Week view" %}
-        </a>
-      {% endif %}
-
-      {% if prev_lesson_person or next_lesson_person %}
-        <div class="col s12 no-padding center alsijil-nav">
-          {% if back_to_week_url %}
-            <a href="{{ back_to_week_url }}"
-               class="btn-flat secondary-color-text waves-light waves-effect left hide-on-med-and-down hide-on-large-only show-on-extra-large">
-              <i class="material-icons iconify left" data-icon="mdi:chevron-left"></i> {% trans "Week view" %}
-            </a>
-          {% endif %}
-
-          {# Previous lesson #}
-          <a class="btn-flat waves-effect waves-light left primary-color-text {% if not prev_lesson_person %}disabled{% endif %}"
-             title="{% trans "My previous lesson" %}"
-              {% if prev_lesson_person %}
-             href="{% url "lesson_period" prev_lesson_person.week.year prev_lesson_person.week.week prev_lesson_person.id %}"
-              {% endif %}
-          >
-            <i class="material-icons iconify left" data-icon="mdi:chevron-left"></i>
-            <span class="hide-on-small-only">{% trans "My previous lesson" %}</span>
-            <span class="hide-on-med-and-up">{% trans "Previous" %}</span>
-          </a>
-          {# Next lesson #}
-          <a class="btn-flat waves-effect waves-light right primary-color-text {% if not next_lesson_person %}disabled{% endif %}"
-             title="{% trans "My next lesson" %}"
-              {% if next_lesson_person %}
-             href="{% url "lesson_period" next_lesson_person.week.year next_lesson_person.week.week next_lesson_person.id %}"
-              {% endif %}
-          >
-            <i class="material-icons iconify right" data-icon="mdi:chevron-right"></i>
-            <span class="hide-on-small-only">{% trans "My next lesson" %}</span>
-            <span class="hide-on-med-and-up">{% trans "Next" %}</span>
-          </a>
-          <span class="truncate">{{ request.user.person }}</span>
-        </div>
-      {% endif %}
-    </div>
-  </div>
-{% endif %}
-
-<h1>
-  <span class="right hide-on-small-only">
-    {% include "alsijil/partials/lesson_status.html" with register_object=register_object css_class="medium" %}
-  </span>
-
-  <a class="btn-flat waves-effect waves-light primary-color-text left alsijil-header-nav-button hide-on-med-and-up {% if not prev_lesson %}disabled{% endif %}"
-      {% if prev_lesson %}
-     href="{% url "lesson_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}"
-      {% endif %}
-  >
-    <i class="material-icons iconify center" data-icon="mdi:chevron-left"></i>
-  </a>
-  <a class="btn-flat waves-effect waves-light primary-color-text right alsijil-header-nav-button hide-on-med-and-up {% if not next_lesson %}disabled{% endif %}"
-      {% if next_lesson %}
-     href="{% url "lesson_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}"
-      {% endif %}
-  >
-    <i class="material-icons iconify center" data-icon="mdi:chevron-right"></i>
-  </a>
-
-  <span class="alsijil-time-head">
-    {% if register_object.label_ == "event" %}
-      {% if register_object.date_start == register_object.date_end %}
-        {% if register_object.period_from.period == register_object.period_to.period %}
-          {{ register_object.date_start|date:"SHORT_DATE_FORMAT" }},
-          {% blocktrans with period=register_object.period_from.period %}{{ period }}. period{% endblocktrans %}
-        {% else %}
-          {{ register_object.date_start|date:"SHORT_DATE_FORMAT" }},
-          {% blocktrans with period_from=register_object.period_from.period  period_to=register_object.period_to.period %}
-            {{ period_from }}.–{{ period_to }}.  period
-          {% endblocktrans %}
-        {% endif %}
-      {% else %}
-        {{ register_object.date_start|date:"SHORT_DATE_FORMAT" }},
-        {{ register_object.period_from.period }}.–{{ register_object.date_end|date:"SHORT_DATE_FORMAT" }},
-        {{ register_object.period_to.period }}.
-      {% endif %}
-    {% else %}
-      {{ day|date:"SHORT_DATE_FORMAT" }},
-      {% blocktrans with period=register_object.period.period %}{{ period }}. period{% endblocktrans %}
-    {% endif %}
-  </span>
-
-  <span class="alsijil-object-head">
-    {{ register_object.group_names }},
-
-    {% if register_object.label_ == "event" %}
-      {% trans "Event" %} ({{ register_object.title }}),
-    {% else %}
-      {{ register_object.get_subject.short_name }},
-    {% endif %}
-
-    {{ register_object.teacher_short_names }}
-  </span>
-</h1>
-
-<div class="hide-on-med-and-up margin-bottom">
-  {% include "alsijil/partials/lesson_status.html" with register_object=register_object chip=1 css_class="hundred-percent center" %}
-</div>
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html
deleted file mode 100644
index a12cf71e843ada4d1caeec54a82c8ca1876cb7ec..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/prev_next.html
+++ /dev/null
@@ -1,38 +0,0 @@
-{% load i18n %}
-
-<div class="row no-margin hide-on-small-only">
-  <div class="col s12 no-padding">
-    {% if not blocked_because_holidays and with_save %}
-      {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-        <button type="submit" class="btn waves-effect waves-light green margin-bottom">
-          <i class="material-icons iconify left" data-icon="mdi:content-save-outline"></i>
-          {% trans "Save" %}
-        </button>
-      {% endif %}
-    {% endif %}
-
-    <a class="btn waves-effect waves-light primary margin-bottom {% if not prev_lesson %}disabled{% endif %}"
-        {% if prev_lesson %}
-       href="{% url "lesson_period" prev_lesson.week.year prev_lesson.week.week prev_lesson.id %}"
-        {% endif %}
-    >
-      <i class="material-icons iconify left" data-icon="mdi:arrow-left"></i>
-      {% blocktrans with subject=register_object.get_subject.short_name %}
-        Previous {{ subject }} lesson
-      {% endblocktrans %}
-    </a>
-
-    <a class="btn right waves-effect waves-light primary margin-bottom {% if not next_lesson %}disabled{% endif %}"
-        {% if next_lesson %}
-       href="{% url "lesson_period" next_lesson.week.year next_lesson.week.week next_lesson.id %}"
-        {% endif %}
-    >
-      <i class="material-icons iconify right" data-icon="mdi:arrow-right"></i>
-      {% blocktrans with subject=register_object.get_subject.short_name %}
-        Next {{ subject }} lesson
-      {% endblocktrans %}
-    </a>
-  </div>
-</div>
-
-
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html
deleted file mode 100644
index 22b396f457a13d4d04824836745fd49fdf7eac72..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/documentation.html
+++ /dev/null
@@ -1,65 +0,0 @@
-{% load i18n material_form_internal material_form %}
-
-{% include "alsijil/partials/lesson/prev_next.html" with with_save=0 %}
-
-<div class="hide-on-med-and-up margin-bottom">
-  {% if not blocked_because_holidays %}
-    {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-      {% include "core/partials/save_button.html" %}
-    {% endif %}
-  {% endif %}
-</div>
-
-<div class="card">
-  <div class="card-content">
-    <span class="card-title">
-      {% blocktrans %}Lesson documentation{% endblocktrans %}
-    </span>
-
-    {% if can_edit_lesson_documentation %}
-      {% form form=lesson_documentation_form %}{% endform %}
-    {% elif can_view_lesson_documentation %}
-      <table>
-        <tr>
-          <th>
-            {% trans "Lesson topic" %}
-          </th>
-          <td>
-            {{ lesson_documentation.topic }}
-          </td>
-        </tr>
-        <tr>
-          <th>
-            {% trans "Homework" %}
-          </th>
-          <td>
-            {{ lesson_documentation.homework }}
-          </td>
-        </tr>
-        <tr>
-          <th>
-            {% trans "Group note" %}
-          </th>
-          <td>
-            {{ lesson_documentation.group_note }}
-          </td>
-        </tr>
-      </table>
-    {% endif %}
-  </div>
-  <div class="card-action-light hide-on-small-only">
-    {% if not blocked_because_holidays %}
-      {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-        {% include "core/partials/save_button.html" %}
-      {% endif %}
-    {% endif %}
-  </div>
-</div>
-
-<div class="hide-on-med-and-up">
-  {% if not blocked_because_holidays %}
-    {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-      {% include "core/partials/save_button.html" %}
-    {% endif %}
-  {% endif %}
-</div>
\ No newline at end of file
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html
deleted file mode 100644
index ffc7706488757871e43de4e71da9e73802273a3f..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/more.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% load i18n %}
-
-{% if group_roles %}
-  {% include "alsijil/group_role/partials/assigned_roles.html" with roles=group_roles group=register_object.get_groups.first back_url=back_url %}
-{% endif %}
-
-{% if can_view_lesson_documentation %}
-  <div class="card">
-    <div class="card-content">
-      <span class="card-title">
-        {% blocktrans %}Change history{% endblocktrans %}
-      </span>
-      {% include 'core/partials/crud_events.html' with obj=lesson_documentation %}
-    </div>
-  </div>
-{% endif %}
\ No newline at end of file
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html
deleted file mode 100644
index 1b013252a8f316979cdf5bdcc87ef1c7463b6e36..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/notes.html
+++ /dev/null
@@ -1,142 +0,0 @@
-{% load i18n material_form_internal material_form time_helpers %}
-
-{% include "alsijil/partials/lesson/prev_next.html" with with_save=1 %}
-
-{% if not blocked_because_holidays %}
-  {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-    <button type="submit"
-            class="btn waves-effect waves-light green margin-bottom hundred-percent hide-on-med-and-up">
-      <i class="material-icons iconify left" data-icon="mdi:content-save-outline"></i> {% trans "Save" %}
-    </button>
-  {% endif %}
-{% endif %}
-
-{% if can_edit_register_object_personalnote %}
-  {% form form=personal_note_formset.management_form %}{% endform %}
-{% endif %}
-
-<div class="card no-mobile-card">
-  <div class="card-content">
-    <span class="card-title">
-      {% blocktrans %}Personal notes{% endblocktrans %}
-    </span>
-
-    <table class="striped alsijil-table horizontal-on-small">
-      <thead>
-      <tr>
-        <th>{% blocktrans %}Person{% endblocktrans %}</th>
-        <th>{% blocktrans %}Absent{% endblocktrans %}</th>
-        <th>{% blocktrans %}Tardiness{% endblocktrans %}</th>
-        <th>{% blocktrans %}Excused{% endblocktrans %}</th>
-        <th>{% blocktrans %}Excuse type{% endblocktrans %}</th>
-        <th>{% blocktrans %}Extra marks{% endblocktrans %}</th>
-        <th>{% blocktrans %}Remarks{% endblocktrans %}</th>
-      </tr>
-      </thead>
-      <tbody>
-      {% for form in personal_note_formset %}
-        {% if can_edit_register_object_personalnote %}
-          <tr>
-            {{ form.id }}
-            <td class="person-name">{{ form.person_name }}{{ form.person_name.value }}
-              <p>
-                {% for assignment in form.instance.person.group_roles.all %}
-                  {% include "alsijil/group_role/chip.html" with role=assignment.role %}
-                {% endfor %}
-              </p>
-            </td>
-            <td class="center-align">
-              <label>
-                {{ form.absent }}
-                <span><span class="hide-on-large-only">{{ form.absent.label }}</span></span>
-              </label>
-            </td>
-            <td>
-              <div class="input-field">
-                {{ form.tardiness }}
-                <label for="{{ form.absent.id_for_label }}">
-                  {% trans "Tardiness (in m)" %}
-                </label>
-              </div>
-            </td>
-            <td class="center-align">
-              <label>
-                {{ form.excused }}
-                <span><span class="hide-on-large-only">{{ form.excused.label }}</span></span>
-              </label>
-            </td>
-            <td>
-              <div class="input-field">
-                {{ form.excuse_type }}
-                <label for="{{ form.excuse_type.id_for_label }}">
-                  {% trans "Excuse type" %}
-                </label>
-              </div>
-            </td>
-            <td>
-              {% for group, items in form.extra_marks|select_options %}
-                {% for choice, value, selected in items %}
-                  <label class="{% if selected %} active{% endif %} alsijil-check-box">
-                    <input type="checkbox"
-                           {% if value == None or value == '' %}disabled{% else %}value="{{ value }}"{% endif %}
-                        {% if selected %} checked="checked"{% endif %}
-                           name="{{ form.extra_marks.html_name }}">
-                    <span>{{ choice }}</span>
-                  </label>
-                {% endfor %}
-              {% endfor %}
-            </td>
-            <td>
-              <div class="input-field">
-                {{ form.remarks }}
-                <label for="{{ form.remarks.id_for_label }}">
-                  {% trans "Remarks" %}
-                </label>
-              </div>
-            </td>
-          </tr>
-        {% else %}
-          <tr>
-            <td>{{ form.person_name.value }}
-              <p>
-                {% for assignment in form.instance.person.group_roles.all %}
-                  {% include "alsijil/group_role/chip.html" with role=assignment.role %}
-                {% endfor %}
-              </p>
-            </td>
-            <td>
-              <i class="material-icons iconify center" data-icon="mdi:{{ form.absent.value|yesno:"check,close" }}"></i>
-            </td>
-            <td>
-              <i class="material-icons iconify center" data-icon="mdi:{{ form.tardiness.value|yesno:"check,close" }}"></i>
-              <span class="alsijil-tardiness-text">
-                {% if form.tardiness.value %}{{ form.tardiness.value|to_time|time:"i\m" }}{% endif %}
-              </span>
-            </td>
-            <td>
-              <i class="material-icons iconify center" data-icon="mdi:{{ form.excused.value|yesno:"check,close" }}"></i>
-              </td>
-            <td>{% firstof form.instance.excuse_type "–" %}</td>
-            <td>
-              {% for extra_mark in form.instance.extra_marks.all %}
-                {{ extra_mark }}{% if not forloop.last %},{% endif %}
-              {% empty %}
-                –
-              {% endfor %}
-            </td>
-            <td>{% firstof form.remarks.value "–" %}</td>
-          </tr>
-        {% endif %}
-      {% endfor %}
-      </tbody>
-    </table>
-  </div>
-</div>
-{% if not blocked_because_holidays %}
-  {% if can_edit_lesson_documentation or can_edit_register_object_personalnote %}
-    <button type="submit"
-            class="btn waves-effect waves-light green margin-bottom hundred-percent hide-on-med-and-up">
-      <i class="material-icons iconify left" data-icon="mdi:content-save-outline"></i> {% trans "Save" %}
-    </button>
-  {% endif %}
-{% endif %}
\ No newline at end of file
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html
deleted file mode 100644
index 8457576b786f579032d5c02052c3ea02a940b6ce..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/previous_lesson.html
+++ /dev/null
@@ -1,62 +0,0 @@
-{% load i18n rules %}
-
-<div class="card">
-  <div class="card-content">
-    <span class="card-title">
-      {% blocktrans %}Overview: Previous lesson{% endblocktrans %} ({{ prev_doc.date_formatted }},
-      {% blocktrans with period=prev_lesson.period.period %}{{ period }}. period{% endblocktrans %})
-    </span>
-
-    <table>
-      {% if prev_doc.topic %}
-        <tr>
-          <th class="collection-item">{% trans "Lesson topic of previous lesson:" %}</th>
-          <td>{{ prev_doc.topic }}</td>
-        </tr>
-      {% endif %}
-
-      {% if prev_doc.homework %}
-        <tr>
-          <th class="collection-item">{% trans "Homework for this lesson:" %}</th>
-          <td>{{ prev_doc.homework }}</td>
-        </tr>
-      {% endif %}
-
-      {% if prev_doc.group_note %}
-        <tr>
-          <th class="collection-item">{% trans "Group notes for previous lesson:" %}</th>
-          <td>{{ prev_doc.group_note }}</td>
-        </tr>
-      {% endif %}
-
-      {% if absences %}
-        <tr>
-          <th>{% trans "Absent persons:" %}</th>
-          <td>{% include "alsijil/partials/absences.html" with notes=absences %}</td>
-        </tr>
-      {% endif %}
-
-      {% if tardinesses %}
-        <tr>
-          <th>{% trans "Late persons:" %}</th>
-          <td>{% include "alsijil/partials/tardinesses.html" with notes=tardinesses %}</td>
-        </tr>
-      {% endif %}
-
-      {% for extra_mark, notes in extra_marks.items %}
-        <tr>
-          <th>{{ extra_mark.name }}</th>
-          <td>
-            {% for note in notes %}
-              {% has_perm "alsijil.view_personalnote_rule" user note as can_view_personalnote %}
-              {% if can_view_personalnote %}
-                <span>{{ note.person }}{% if not forloop.last %},{% endif %}</span>
-              {% endif %}
-            {% endfor %}
-          </td>
-        </tr>
-      {% endfor %}
-
-    </table>
-  </div>
-</div>
\ No newline at end of file
diff --git a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html b/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html
deleted file mode 100644
index de5e9f44f947ac49a951d30b6de58a02e844f044..0000000000000000000000000000000000000000
--- a/aleksis/apps/alsijil/templates/alsijil/partials/lesson/tabs/seating_plan.html
+++ /dev/null
@@ -1,89 +0,0 @@
-{% load i18n material_form_internal material_form time_helpers rules %}
-
-
-{% if seating_plan %}
-  <div class="card no-mobile-card">
-    <div class="card-content">
-      <div class="card-title margin-bottom">
-        {% blocktrans with group=seating_plan.group room=seating_plan.room %}Seating plan for {{ group }} in
-          {{ room }}{% endblocktrans %}
-      </div>
-      {% if seating_plan_parent %}
-        <figure class="alert primary">
-          <i class="material-icons iconify left" data-icon="information-outline"></i>
-          {% blocktrans with child_group=first_group %}
-            This seating plan is taken from the parent group of {{ child_group }}.
-            If you want, you can take it over for your group and then customize it.
-          {% endblocktrans %}
-        </figure>
-      {% endif %}
-
-      <div class="row margin-bottom no-padding">
-        <div class="col s12 no-padding">
-          {% has_perm "stoelindeling.edit_seatingplan_rule" user seating_plan as can_edit %}
-          {% has_perm "stoelindeling.copy_seatingplan_for_group_rule" user first_group as can_copy %}
-
-          {% if can_edit %}
-            <a class="btn orange waves-effect waves-light"
-               href="{% url "edit_seating_plan" seating_plan.pk %}?next={{ back_url }}#seating-plan">
-              <i class="material-icons iconify left" data-icon="mdi:pencil-outline"></i>
-              {% trans "Edit seating plan" %}
-            </a>
-          {% endif %}
-          {% if can_copy and seating_plan_parent %}
-            <a class="btn orange waves-effect waves-light"
-               href="{% url "copy_seating_plan" seating_plan.pk %}?next={{ back_url }}#seating-plan">
-              <i class="material-icons iconify left" data-icon="mdi:content-copy"></i>
-              {% trans "Copy plan and edit" %}
-            </a>
-          {% endif %}
-        </div>
-      </div>
-
-      <div class="row">
-        <div class="col s12">
-          {% include "stoelindeling/seating_plan/render.html" %}
-        </div>
-      </div>
-    </div>
-  </div>
-{% else %}
-  <div class="container">
-    <div class="card">
-      <div class="card-content">
-        <div class="card-title">
-          <i class="material-icons iconify left small orange-text" data-icon="mdi:alert-outline"></i>
-          {% trans "There is no seating plan for this lesson." %}
-        </div>
-        {% has_perm "stoelindeling.create_seatingplan_rule" user first_group as can_add %}
-        {% if can_add %}
-          <div class="row margin-bottom">
-            <div class="col s12">
-              <a class="btn waves-effect waves-light" href="{% url "create_seating_plan" %}?group={{ first_group.pk }}&subject={{ register_object.get_subject.pk }}&room={{ register_object.get_room.pk }}&next={{ back_url }}#seating-plan">
-                <i class="material-icons iconify left" data-icon="mdi:plus"></i>
-                {% blocktrans with group=first_group.name subject=register_object.get_subject.name room=register_object.get_room.name %}
-                  Create a new seating plan for {{ group }} ({{ subject }}) in {{ room }}
-                {% endblocktrans %}
-              </a>
-            </div>
-          </div>
-        {% endif %}
-        {% for parent_group in first_group.parent_groups.all %}
-          {% has_perm "stoelindeling.create_seatingplan_rule" user parent_group as can_add %}
-          {% if can_add %}
-            <div class="row">
-              <div class="col s12">
-                <a class="btn waves-effect waves-light" href="{% url "create_seating_plan" %}?group={{ parent_group.pk }}&subject={{ register_object.get_subject.pk }}&room={{ register_object.get_room.pk }}&next={{ back_url }}#seating-plan">
-                  <i class="material-icons iconify left" data-icon="mdi:plus"></i>
-                  {% blocktrans with group=parent_group.name room=register_object.get_room.name %}
-                    Create a new seating plan for {{ group }} in {{ room }}
-                  {% endblocktrans %}
-                </a>
-              </div>
-            </div>
-          {% endif %}
-        {% endfor %}
-      </div>
-    </div>
-  </div>
-{% endif %}