mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Name formats: Allow empty salutation (#3801)
* Name formats: Allow empty salutation * Update src/pretix/base/forms/questions.py Co-authored-by: Felix Rindt <felix@rindt.me> --------- Co-authored-by: Felix Rindt <felix@rindt.me>
This commit is contained in:
@@ -125,7 +125,7 @@ class NamePartsWidget(forms.MultiWidget):
|
|||||||
if fname == 'title' and self.titles:
|
if fname == 'title' and self.titles:
|
||||||
widgets.append(Select(attrs=a, choices=[('', '')] + [(d, d) for d in self.titles[1]]))
|
widgets.append(Select(attrs=a, choices=[('', '')] + [(d, d) for d in self.titles[1]]))
|
||||||
elif fname == 'salutation':
|
elif fname == 'salutation':
|
||||||
widgets.append(Select(attrs=a, choices=[('', '---')] + PERSON_NAME_SALUTATIONS))
|
widgets.append(Select(attrs=a, choices=[('', '---'), ('empty', '')] + PERSON_NAME_SALUTATIONS))
|
||||||
else:
|
else:
|
||||||
widgets.append(self.widget(attrs=a))
|
widgets.append(self.widget(attrs=a))
|
||||||
super().__init__(widgets, attrs)
|
super().__init__(widgets, attrs)
|
||||||
@@ -136,7 +136,10 @@ class NamePartsWidget(forms.MultiWidget):
|
|||||||
data = []
|
data = []
|
||||||
for i, field in enumerate(self.scheme['fields']):
|
for i, field in enumerate(self.scheme['fields']):
|
||||||
fname, label, size = field
|
fname, label, size = field
|
||||||
data.append(value.get(fname, ""))
|
fval = value.get(fname, "")
|
||||||
|
if fname == "salutation" and fname in value and fval == "":
|
||||||
|
fval = "empty"
|
||||||
|
data.append(fval)
|
||||||
if '_legacy' in value and not data[-1]:
|
if '_legacy' in value and not data[-1]:
|
||||||
data[-1] = value.get('_legacy', '')
|
data[-1] = value.get('_legacy', '')
|
||||||
elif not any(d for d in data) and '_scheme' in value:
|
elif not any(d for d in data) and '_scheme' in value:
|
||||||
@@ -190,7 +193,8 @@ class NamePartsFormField(forms.MultiValueField):
|
|||||||
data = {}
|
data = {}
|
||||||
data['_scheme'] = self.scheme_name
|
data['_scheme'] = self.scheme_name
|
||||||
for i, value in enumerate(data_list):
|
for i, value in enumerate(data_list):
|
||||||
data[self.scheme['fields'][i][0]] = value or ''
|
key = self.scheme['fields'][i][0]
|
||||||
|
data[key] = value or ''
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@@ -239,7 +243,7 @@ class NamePartsFormField(forms.MultiValueField):
|
|||||||
d.pop('validators', None)
|
d.pop('validators', None)
|
||||||
field = forms.ChoiceField(
|
field = forms.ChoiceField(
|
||||||
**d,
|
**d,
|
||||||
choices=[('', '---')] + PERSON_NAME_SALUTATIONS
|
choices=[('', '---'), ('empty', '')] + PERSON_NAME_SALUTATIONS
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
field = forms.CharField(**defaults)
|
field = forms.CharField(**defaults)
|
||||||
@@ -265,6 +269,9 @@ class NamePartsFormField(forms.MultiValueField):
|
|||||||
if sum(len(v) for v in value.values() if v) > 250:
|
if sum(len(v) for v in value.values() if v) > 250:
|
||||||
raise forms.ValidationError(_('Please enter a shorter name.'), code='max_length')
|
raise forms.ValidationError(_('Please enter a shorter name.'), code='max_length')
|
||||||
|
|
||||||
|
if value.get("salutation") == "empty":
|
||||||
|
value["salutation"] = ""
|
||||||
|
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user