diff --git a/server/openslides/core/apps.py b/server/openslides/core/apps.py index 8a63c8347..9041b6269 100644 --- a/server/openslides/core/apps.py +++ b/server/openslides/core/apps.py @@ -157,6 +157,9 @@ def manage_config(**kwargs): from .config import config altered = config.save_default_values() + altered = ( + config.overwrite_with_defaults("logos_available", "fonts_available") or altered + ) altered = config.cleanup_old_config_values() or altered if altered: config.increment_version() diff --git a/server/openslides/core/config.py b/server/openslides/core/config.py index dff3bea31..f34e11686 100644 --- a/server/openslides/core/config.py +++ b/server/openslides/core/config.py @@ -250,6 +250,18 @@ class ConfigHandler: queryset.delete() return altered_config + def overwrite_with_defaults(self, *keys: str) -> bool: + altered_config = False + for key in keys: + config_variable = self.config_variables[key] + # it must be present in the db -> ensure that save_default_values run beforehand + db_value = ConfigStore.objects.get(key=key) + if db_value.value != config_variable.default_value: + db_value.value = config_variable.default_value + db_value.save() + altered_config = True + return altered_config + def get_collection_string(self) -> str: """ Returns the collection_string from the CollectionStore.