diff --git a/aleksis/core/apps.py b/aleksis/core/apps.py index 0037842bc71590eb521aa67f25b5f4cc6b50fb92..aeda609326941428e483e05cabd6e5412b2832f7 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("form_extensions", "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 1500537334ebf5d339955c55a480776053b01d03..d263feb9a2ba0c9e36d821a56e12f77726a7a672 100644 --- a/aleksis/core/util/apps.py +++ b/aleksis/core/util/apps.py @@ -1,4 +1,3 @@ -from importlib import import_module from typing import Any, List, Optional, Sequence, Tuple import django.apps @@ -19,15 +18,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 +28,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."""