tools (xml_tools): dataForm2XMLUI handles the default value for "list-single" fields
This commit is contained in:
parent
7a9392f486
commit
f08b22ecb2
1 changed files with 7 additions and 2 deletions
|
|
@ -63,8 +63,9 @@ def _dataFormField2XMLUIData(field):
|
|||
widget_args[0] = 'false'
|
||||
elif field.fieldType == 'list-single':
|
||||
widget_type = "list"
|
||||
del widget_args[0]
|
||||
widget_kwargs["options"] = [(option.value, option.label or option.value) for option in field.options]
|
||||
widget_kwargs["selected"] = widget_args
|
||||
widget_args = []
|
||||
else:
|
||||
log.error(u"FIXME FIXME FIXME: Type [%s] is not managed yet by SàT" % field.fieldType)
|
||||
widget_type = "string"
|
||||
|
|
@ -354,6 +355,8 @@ class OptionElement(Element):
|
|||
value, label = option, option
|
||||
elif isinstance(option, tuple):
|
||||
value, label = option
|
||||
else:
|
||||
raise NotImplementedError
|
||||
self.elem.setAttribute('value', value)
|
||||
self.elem.setAttribute('label', label)
|
||||
if selected:
|
||||
|
|
@ -720,7 +723,9 @@ class ListWidget(InputWidget):
|
|||
else:
|
||||
selected = []
|
||||
for option in options:
|
||||
OptionElement(self, option, option in selected)
|
||||
assert(isinstance(option, basestring) or isinstance(option, tuple))
|
||||
value = option if isinstance(option, basestring) else option[0]
|
||||
OptionElement(self, option, value in selected)
|
||||
|
||||
|
||||
## XMLUI main class
|
||||
|
|
|
|||
Loading…
Reference in a new issue