From 31eda014645d5ce825c4bbb523baa203d9fddba8 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 15 Mar 2022 16:06:11 +0100 Subject: [PATCH] Fix error in SMTP settings when not changing password --- src/pretix/base/forms/__init__.py | 5 ++++- src/pretix/control/views/mailsetup.py | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pretix/base/forms/__init__.py b/src/pretix/base/forms/__init__.py index 429c75e381..713aa1e101 100644 --- a/src/pretix/base/forms/__init__.py +++ b/src/pretix/base/forms/__init__.py @@ -113,10 +113,13 @@ class SettingsForm(i18nfield.forms.I18nFormMixin, HierarkeyForm): if isinstance(f, (RelativeDateTimeField, RelativeDateField)): f.set_event(self.obj) - def save(self): + def _unmask_secret_fields(self): for k, v in self.cleaned_data.items(): if isinstance(self.fields.get(k), SecretKeySettingsField) and self.cleaned_data.get(k) == SECRET_REDACTED: self.cleaned_data[k] = self.initial[k] + + def save(self): + self._unmask_secret_fields() return super().save() def clean(self): diff --git a/src/pretix/control/views/mailsetup.py b/src/pretix/control/views/mailsetup.py index 1399a9915f..3dea35b79c 100644 --- a/src/pretix/control/views/mailsetup.py +++ b/src/pretix/control/views/mailsetup.py @@ -243,6 +243,8 @@ class MailSettingsSetupView(TemplateView): messages.success(request, _('Your changes have been saved.')) return redirect(self.get_success_url()) else: + self.smtp_form._unmask_secret_fields() + backend = get_connection( backend=settings.EMAIL_CUSTOM_SMTP_BACKEND, host=self.smtp_form.cleaned_data['smtp_host'],