tools (xml_tools): dataForm2XMLUI handles the default value for "list-single" fields

This commit is contained in:
souliane 2014-06-12 18:19:55 +02:00
commit f08b22ecb2

View file

@ -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