formdef: allow empty <description/> tags on import (#17291)

This commit is contained in:
Frédéric Péters 2017-06-30 15:39:58 +02:00
parent 9b70f59a8c
commit 2f9536cce8
2 changed files with 12 additions and 1 deletions

View File

@ -65,6 +65,17 @@ def test_text_attributes():
f2 = assert_json_import_export_works(formdef)
assert f2.url_name == formdef.url_name
def test_empty_description_tag():
formdef = FormDef()
formdef.name = 'empty'
assert_xml_import_export_works(formdef)
export = ET.tostring(export_to_indented_xml(formdef))
# add empty description tag
export = export.replace('<name>empty</name>', '<name>empty</name><description></description>')
formdef2 = FormDef.import_from_xml_tree(ET.fromstring(export))
assert not formdef2.description
def test_boolean_attributes():
formdef = FormDef()
formdef.name = 'Foo'

View File

@ -924,7 +924,7 @@ class FormDef(StorableObject):
formdef.id = tree.attrib.get('id')
for text_attribute in list(cls.TEXT_ATTRIBUTES):
value = tree.find(text_attribute)
if value is None:
if value is None or value.text is None:
continue
setattr(formdef, text_attribute, value.text.encode(charset))