diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index 66d2fc9f14..9fd05275ea 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -241,16 +241,18 @@ class ProviderForm(SettingsForm): v.required = False v.widget.is_required = False if isinstance(v, I18nFormField): + v._required = v.one_required + v.one_required = False v.widget.enabled_langcodes = self.obj.settings.get('locales') def clean(self): cleaned_data = super().clean() - enabled = cleaned_data.get(self.settingspref + '_enabled') == 'True' + enabled = cleaned_data.get(self.settingspref + '_enabled') if not enabled: return for k, v in self.fields.items(): val = cleaned_data.get(k) - if v._required and (val is None or val == ""): + if v._required and not val: self.add_error(k, _('This field is required.')) diff --git a/src/pretix/control/views/event.py b/src/pretix/control/views/event.py index 4e00e484e7..2b88d6ebf6 100644 --- a/src/pretix/control/views/event.py +++ b/src/pretix/control/views/event.py @@ -212,6 +212,7 @@ class PaymentSettings(EventPermissionRequiredMixin, TemplateView, SingleObjectMi messages.success(self.request, _('Your changes have been saved.')) return redirect(self.get_success_url()) else: + messages.error(self.request, _('We could not save your changes. See below for details.')) return self.get(request) def get_success_url(self) -> str: