forked from CGM_Public/pretix_original
Fixed payment settings form validation
This commit is contained in:
@@ -241,16 +241,18 @@ class ProviderForm(SettingsForm):
|
|||||||
v.required = False
|
v.required = False
|
||||||
v.widget.is_required = False
|
v.widget.is_required = False
|
||||||
if isinstance(v, I18nFormField):
|
if isinstance(v, I18nFormField):
|
||||||
|
v._required = v.one_required
|
||||||
|
v.one_required = False
|
||||||
v.widget.enabled_langcodes = self.obj.settings.get('locales')
|
v.widget.enabled_langcodes = self.obj.settings.get('locales')
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
cleaned_data = super().clean()
|
cleaned_data = super().clean()
|
||||||
enabled = cleaned_data.get(self.settingspref + '_enabled') == 'True'
|
enabled = cleaned_data.get(self.settingspref + '_enabled')
|
||||||
if not enabled:
|
if not enabled:
|
||||||
return
|
return
|
||||||
for k, v in self.fields.items():
|
for k, v in self.fields.items():
|
||||||
val = cleaned_data.get(k)
|
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.'))
|
self.add_error(k, _('This field is required.'))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -212,6 +212,7 @@ class PaymentSettings(EventPermissionRequiredMixin, TemplateView, SingleObjectMi
|
|||||||
messages.success(self.request, _('Your changes have been saved.'))
|
messages.success(self.request, _('Your changes have been saved.'))
|
||||||
return redirect(self.get_success_url())
|
return redirect(self.get_success_url())
|
||||||
else:
|
else:
|
||||||
|
messages.error(self.request, _('We could not save your changes. See below for details.'))
|
||||||
return self.get(request)
|
return self.get(request)
|
||||||
|
|
||||||
def get_success_url(self) -> str:
|
def get_success_url(self) -> str:
|
||||||
|
|||||||
Reference in New Issue
Block a user