From d71a20054305e99a6246b08bbfd4e40a736022d0 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 23 Sep 2013 16:57:44 +0200 Subject: [PATCH 1/2] [FIX] handling of multiple children in an HTML field bzr revid: xmo@openerp.com-20130923145744-3dpta6w2qnqe851b --- addons/website/view.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/addons/website/view.py b/addons/website/view.py index 8b3da581732..1c91914ff2f 100644 --- a/addons/website/view.py +++ b/addons/website/view.py @@ -70,8 +70,11 @@ class view(osv.osv): column_type = type_override or type(column) if issubclass(column_type, fields.html): - # FIXME: multiple children? - return html.tostring(el[0]) + content = [] + if el.text: content.append(el.text) + content.extend(html.tostring(child) + for child in el.iterchildren(tag=etree.Element)) + return '\n'.join(content) elif issubclass(column_type, fields.integer): return int(el.text_content()) elif issubclass(column_type, fields.float): From 68d9add6cea9eccc23c3b7fd0e9b13881ef0a4fd Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 23 Sep 2013 17:16:33 +0200 Subject: [PATCH 2/2] [ADD] saving m2o fields bzr revid: xmo@openerp.com-20130923151633-61v7gw0llol4fvyo --- addons/website/view.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/website/view.py b/addons/website/view.py index 1c91914ff2f..676704a269e 100644 --- a/addons/website/view.py +++ b/addons/website/view.py @@ -83,7 +83,11 @@ class view(osv.osv): fields.date, fields.datetime)): return el.text_content() # TODO: fields.selection - # TODO: fields.many2one + elif issubclass(column_type, fields.many2one): + matches = self.pool[column._obj].name_search( + cr, uid, name=el.text_content().strip(), context=context) + # FIXME: more than one match, error reporting + return matches[0][0] elif issubclass(column_type, fields.function): # FIXME: special-case selection as in get_pg_type? return self.convert_embedded_field(