mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
Fixed a problem with default values in I18nWidget
This commit is contained in:
@@ -143,18 +143,24 @@ class I18nWidget(forms.MultiWidget):
|
|||||||
|
|
||||||
def decompress(self, value):
|
def decompress(self, value):
|
||||||
data = []
|
data = []
|
||||||
|
first_enabled = None
|
||||||
|
any_filled = False
|
||||||
if not isinstance(value, LazyI18nString):
|
if not isinstance(value, LazyI18nString):
|
||||||
value = LazyI18nString(value)
|
value = LazyI18nString(value)
|
||||||
for lng in self.langcodes:
|
for i, lng in enumerate(self.langcodes):
|
||||||
data.append(
|
dataline = (
|
||||||
value.data[lng]
|
value.data[lng]
|
||||||
if value is not None and (
|
if value is not None and (
|
||||||
isinstance(value.data, dict) or isinstance(value.data, LazyI18nString.LazyGettextProxy)
|
isinstance(value.data, dict) or isinstance(value.data, LazyI18nString.LazyGettextProxy)
|
||||||
) and lng in value.data
|
) and lng in value.data
|
||||||
else None
|
else None
|
||||||
)
|
)
|
||||||
|
any_filled = any_filled or (lng in self.enabled_langcodes and dataline)
|
||||||
|
if not first_enabled and lng in self.enabled_langcodes:
|
||||||
|
first_enabled = i
|
||||||
|
data.append(dataline)
|
||||||
if value and not isinstance(value.data, dict):
|
if value and not isinstance(value.data, dict):
|
||||||
data[0] = value.data
|
data[first_enabled] = value.data
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def render(self, name, value, attrs=None):
|
def render(self, name, value, attrs=None):
|
||||||
|
|||||||
Reference in New Issue
Block a user