From 9c3c022ffe2cd3c846c96edd73a7a37ca6fd7879 Mon Sep 17 00:00:00 2001 From: Guewen Baconnier Date: Mon, 28 Nov 2016 09:37:57 +0100 Subject: [PATCH] [FIX] base: error in QWeb when a record is empty When using a many2one widget, in the following scenario:

If 'parent_id' is an empty recordset, the following error will be raised: [...] [read] = record.read([field_name]) ValueError: need more than 0 values to unpack This is because record.read([field_name]) returns an empty list which cannot be unpacked. In version 10 this problem is avoided by using recordset but to keep the diff minmal in v9, only returns empty string as the line below does `if not read[field_name]: return ''` Closes #14489 --- openerp/addons/base/ir/ir_qweb.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openerp/addons/base/ir/ir_qweb.py b/openerp/addons/base/ir/ir_qweb.py index 530f7be5f19..4d7e5a02061 100644 --- a/openerp/addons/base/ir/ir_qweb.py +++ b/openerp/addons/base/ir/ir_qweb.py @@ -798,6 +798,8 @@ class ManyToOneConverter(osv.AbstractModel): _inherit = 'ir.qweb.field' def record_to_html(self, cr, uid, field_name, record, options=None, context=None): + if not record: + return '' [read] = record.read([field_name]) if not read[field_name]: return '' _, value = read[field_name]