From 074252a9c0e990b997ab705c82e2bdaebc6ff679 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 17 May 2022 11:53:37 +0200 Subject: [PATCH] SecretKeySettingsWidget: Fix issue during form validation --- src/pretix/base/forms/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pretix/base/forms/__init__.py b/src/pretix/base/forms/__init__.py index 713aa1e10..c8973c118 100644 --- a/src/pretix/base/forms/__init__.py +++ b/src/pretix/base/forms/__init__.py @@ -196,10 +196,16 @@ class SecretKeySettingsWidget(forms.TextInput): attrs.update({ 'autocomplete': 'new-password' # see https://bugs.chromium.org/p/chromium/issues/detail?id=370363#c7 }) + self.__reflect_value = False super().__init__(attrs) + def value_from_datadict(self, data, files, name): + value = super().value_from_datadict(data, files, name) + self.__reflect_value = value and value != SECRET_REDACTED + return value + def get_context(self, name, value, attrs): - if value: + if value and not self.__reflect_value: value = SECRET_REDACTED return super().get_context(name, value, attrs)