diff --git a/aleksis/core/apps.py b/aleksis/core/apps.py index 648d063a378f30fddbbece6474c3b84a5a65bed6..680299673400ff4824e7dcac4f0b15d30f417754 100644 --- a/aleksis/core/apps.py +++ b/aleksis/core/apps.py @@ -27,8 +27,17 @@ class CoreConfig(AppConfig): ([2019, 2020], "Tom Teichler", "tom.teichler@teckids.org"), ) - def config_updated(self, *args, **kwargs) -> None: - clean_scss() + def preference_updated( + self, + sender: Any, + section: Optional[str] = None,, + name: Optional[str] = None, + old_value: Optional[Any] = None, + new_value: Optional[Any] = None, + **kwargs, + ) -> None: + if section == "theme": + clean_scss() def post_migrate( self, diff --git a/aleksis/core/util/apps.py b/aleksis/core/util/apps.py index dbf6159252c0b20aee9fcc422fb21360c7fbc1e0..50c9c242dbd8584480ee3b48fe1619edc3b892f6 100644 --- a/aleksis/core/util/apps.py +++ b/aleksis/core/util/apps.py @@ -6,7 +6,7 @@ from django.contrib.auth.signals import user_logged_in, user_logged_out from django.db.models.signals import post_migrate, pre_migrate from django.http import HttpRequest -from constance.signals import config_updated +from dynamic_preferences.signals import preference_updated from license_expression import Licensing, LicenseSymbol from spdx_license_list import LICENSES @@ -31,7 +31,7 @@ class AppConfig(django.apps.AppConfig): # Register default listeners pre_migrate.connect(self.pre_migrate, sender=self) post_migrate.connect(self.post_migrate, sender=self) - config_updated.connect(self.config_updated) + preference_updated.connect(self.preference_updated) user_logged_in.connect(self.user_logged_in) user_logged_out.connect(self.user_logged_out) @@ -126,14 +126,16 @@ class AppConfig(django.apps.AppConfig): # TODO Try getting from distribution if not set - def config_updated( + def preference_updated( self, - key: Optional[str] = "", + sender: Any, + section: Optional[str] = None,, + name: Optional[str] = None, old_value: Optional[Any] = None, new_value: Optional[Any] = None, **kwargs, ) -> None: - """ Called on every app instance if a Constance config chagnes, and once on startup + """ Called on every app instance if a dynamic preference changes, and once on startup By default, it does nothing. """