From 43d9b226795a09cd564bcf62bb125a2c1f0d2e43 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Sun, 19 Oct 2014 09:24:48 +0200 Subject: [PATCH] Restore compat. with django builtin commands. see #621 --- modoboa/core/models.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/modoboa/core/models.py b/modoboa/core/models.py index 56bdcbe35..095d2d080 100644 --- a/modoboa/core/models.py +++ b/modoboa/core/models.py @@ -94,7 +94,20 @@ class User(PermissionsMixin): super(User, self).delete() def _crypt_password(self, raw_value): - scheme = parameters.get_admin("PASSWORD_SCHEME") + """Crypt the local password using the appropriate scheme. + + In case we don't find the scheme (for example when the + management framework is used), we load the parameters and try + one more time. + + """ + try: + scheme = parameters.get_admin("PASSWORD_SCHEME") + except parameters.NotDefined: + from modoboa.core import load_core_settings + load_core_settings() + scheme = parameters.get_admin("PASSWORD_SCHEME") + if type(raw_value) is unicode: raw_value = raw_value.encode("utf-8") return get_password_hasher(scheme.upper())().encrypt(raw_value)