diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c4d2d9d6b8215dd19dccda5f98e060f3b87e3f67..b533b05599a4fbfb779606819a43f326c6651c3c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -20,6 +20,7 @@ Fixed ~~~~~ * Fix installation documentation (nginx, uWSGI). +* Use a set for data checks registry to prevent double entries. Removed ~~~~~~~ diff --git a/aleksis/core/apps.py b/aleksis/core/apps.py index 16d30129631f574c6fa987612356a3481164c8ec..9679c309ed9e6280495b420651e6c17fe56d3daf 100644 --- a/aleksis/core/apps.py +++ b/aleksis/core/apps.py @@ -74,9 +74,9 @@ class CoreConfig(AppConfig): """Get all data checks from all loaded models.""" from aleksis.core.data_checks import DataCheckRegistry - data_checks = [] + data_checks = set() for model in apps.get_models(): - data_checks += getattr(model, "data_checks", []) + data_checks.update(getattr(model, "data_checks", [])) DataCheckRegistry.data_checks = data_checks def preference_updated( diff --git a/aleksis/core/data_checks.py b/aleksis/core/data_checks.py index 02d2d7dd1839309199edac7c101a01635444e01a..234c82c0ca12b46c7e1aebd7151fb2f2a1c0c2ca 100644 --- a/aleksis/core/data_checks.py +++ b/aleksis/core/data_checks.py @@ -225,7 +225,7 @@ class DataCheck: class DataCheckRegistry: """Create central registry for all data checks in AlekSIS.""" - data_checks = [] + data_checks: set = set() @classproperty def data_checks_by_name(cls):