From af36a9d2c98f868532bc460972131e9dcb4174ff Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Fri, 29 May 2020 21:28:12 +0200 Subject: [PATCH] Use autodiscover code of Django for checks and model extensions --- aleksis/core/apps.py | 4 ++++ aleksis/core/util/apps.py | 16 ---------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/aleksis/core/apps.py b/aleksis/core/apps.py index 0037842bc..8d142eb01 100644 --- a/aleksis/core/apps.py +++ b/aleksis/core/apps.py @@ -2,6 +2,7 @@ from typing import Any, List, Optional, Tuple import django.apps from django.http import HttpRequest +from django.utils.module_loading import autodiscover_modules from dynamic_preferences.registries import preference_models @@ -36,6 +37,9 @@ class CoreConfig(AppConfig): def ready(self): super().ready() + # Autodiscover various modules defined by AlekSIS + autodiscover_modules("model_extensions", "checks") + sitepreferencemodel = self.get_model("SitePreferenceModel") personpreferencemodel = self.get_model("PersonPreferenceModel") grouppreferencemodel = self.get_model("GroupPreferenceModel") diff --git a/aleksis/core/util/apps.py b/aleksis/core/util/apps.py index 150053733..0cc86534f 100644 --- a/aleksis/core/util/apps.py +++ b/aleksis/core/util/apps.py @@ -19,15 +19,6 @@ class AppConfig(django.apps.AppConfig): def ready(self): super().ready() - # Run model extension code - try: - import_module( - ".".join(self.__class__.__module__.split(".")[:-1] + ["model_extensions"]) - ) - except ImportError: - # ImportErrors are non-fatal because model extensions are optional. - pass - # Register default listeners pre_migrate.connect(self.pre_migrate, sender=self) post_migrate.connect(self.post_migrate, sender=self) @@ -38,13 +29,6 @@ class AppConfig(django.apps.AppConfig): # Getting an app ready means it should look at its config once self.preference_updated(self) - # Register system checks of this app - try: - import_module(".".join(self.__class__.__module__.split(".")[:-1] + ["checks"])) - except ImportError: - # ImportErrors are non-fatal because checks are optional. - pass - @classmethod def get_name(cls): """Get name of application package.""" -- GitLab