diff --git a/src/tools/xml_tools.py b/src/tools/xml_tools.py index 98354e97..123e2f50 100644 --- a/src/tools/xml_tools.py +++ b/src/tools/xml_tools.py @@ -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