diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1b40df197dd94deb70e14407da9b5c0a6f7175ac..50ef7cc24277cd98931421a527c26c561af8cd8d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -45,7 +45,6 @@ lint:
   stage: test
   script:
     - tox -e lint,security
-  allow_failure: true
 
 build_dist:
   stage: build
diff --git a/aleksis/core/mixins.py b/aleksis/core/mixins.py
index 7f5db6e6d1bb4c17ece7152167ef35334b22c115..f68f228b7db4d9044f74ee82b7f8d9a281f334e1 100644
--- a/aleksis/core/mixins.py
+++ b/aleksis/core/mixins.py
@@ -196,8 +196,7 @@ class ExtensibleModel(models.Model, metaclass=_ExtensibleModelBase):
 
     @classmethod
     def syncable_fields(cls) -> List[models.Field]:
-        """ Collect all fields that can be synced on a model """
-
+        """Collect all fields that can be synced on a model."""
         return [
             field
             for field in cls._meta.fields
@@ -206,18 +205,19 @@ class ExtensibleModel(models.Model, metaclass=_ExtensibleModelBase):
 
     @classmethod
     def syncable_fields_choices(cls) -> Tuple[Tuple[str, str]]:
-        """ Collect all fields that can be synced on a model """
-
+        """Collect all fields that can be synced on a model."""
         return tuple(
             [(field.name, field.verbose_name or field.name) for field in cls.syncable_fields()]
         )
 
     @classmethod
     def syncable_fields_choices_lazy(cls) -> Callable[[], Tuple[Tuple[str, str]]]:
-        """ Collect all fields that can be synced on a model """
-
+        """Collect all fields that can be synced on a model."""
         return lazy(cls.syncable_fields_choices, tuple)
 
+    def __str__(self) -> str:
+        return f"{self.__class__.meta.name} {self.pk}"
+
     class Meta:
         abstract = True
 
diff --git a/apps/official/AlekSIS-App-Chronos b/apps/official/AlekSIS-App-Chronos
index b3b28861982f952d4f0f6ba33c7a5866541e0087..bc3d5ef8d4294919ec28109b61dced73f0351c6a 160000
--- a/apps/official/AlekSIS-App-Chronos
+++ b/apps/official/AlekSIS-App-Chronos
@@ -1 +1 @@
-Subproject commit b3b28861982f952d4f0f6ba33c7a5866541e0087
+Subproject commit bc3d5ef8d4294919ec28109b61dced73f0351c6a
diff --git a/pyproject.toml b/pyproject.toml
index 3c95edee9e903bcf1950a7c962ca9057ec8112e5..b376c517fec1819b11aa04f137813bb637bc37b8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -9,7 +9,7 @@ include = ["CHANGELOG.rst", "CODE_OF_CONDUCT.rst", "CONTRIBUTING.rst", "LICENCE.
 
 description = "AlekSIS (School Information System) — Core"
 authors = ["Dominik George <dominik.george@teckids.org>", "Julian Leucker <leuckeju@katharineum.de>", "mirabilos <thorsten.glaser@teckids.org>", "Frank Poetzsch-Heffter <p-h@katharineum.de>", "Tom Teichler <tom.teichler@teckids.org>", "Jonathan Weth <wethjo@katharineum.de>", "Hangzhi Yu <yuha@katharineum.de>"]
-maintainers = ["Jonathan Weth <wethjo@katharineum.de>", "Dominik George <dominik.george@teckids.org>"}
+maintainers = ["Jonathan Weth <wethjo@katharineum.de>", "Dominik George <dominik.george@teckids.org>"]
 license = "EUPL-1.2-or-later"
 homepage = "https://aleksis.org/"
 repository = "https://edugit.org/AlekSIS/official/AlekSIS"