From 91ff9e26f015ce9cdf66bafc0e28925780f66937 Mon Sep 17 00:00:00 2001 From: Spitfireap Date: Fri, 12 Jan 2024 17:04:15 +0100 Subject: [PATCH] Make password scheme caching more permissive --- modoboa/core/app_settings.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index bc9aa42d0..48a5c6cb1 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -10,6 +10,8 @@ from django.utils.translation import gettext as _, gettext_lazy from django_rq import get_queue +from redis.exceptions import ConnectionError + from modoboa.core.jobs import job_retrieve_available_hashers from modoboa.core.password_hashers import get_dovecot_schemes from modoboa.core.password_hashers.base import PasswordHasher @@ -45,11 +47,15 @@ def get_default_password_scheme(): def get_password_scheme(): - available_schemes = cache.get("password_scheme_choice") - if available_schemes is None: - get_queue("modoboa").enqueue(job_retrieve_available_hashers) + try: + available_schemes = cache.get("password_scheme_choice") + if available_schemes is None: + get_queue("modoboa").enqueue(job_retrieve_available_hashers) + return get_default_password_scheme() + return available_schemes + except ConnectionError: + # TODO : notification/email to admin return get_default_password_scheme() - return available_schemes class GeneralParametersForm(param_forms.AdminParametersForm):