From eea07e27c0ffeba168ae821bc92f7b668aa162f7 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 21 Aug 2014 21:23:22 +0200 Subject: [PATCH] [FIX] osv/fields.py: correct reading name_get of m2o property --- openerp/osv/fields.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index f1a444d543c..b04b9c037d3 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -1567,10 +1567,17 @@ class property(function): values = ir_property.get_multi(cr, uid, prop_name, obj._name, ids, context=context) if column._type == 'many2one': # name_get the values as SUPERUSER_ID - vals = sum(values.itervalues()) - vals_name = dict(vals.sudo().name_get()) + vals = None + for v in values.itervalues(): + if v: + vals = v if not vals else (vals | v) + + vals_name = dict(vals.sudo().name_get()) if vals else {} for id, value in values.iteritems(): - res[id][prop_name] = vals_name.get(value.id, False) + ng = False + if value and value.id in vals_name: + ng = value.id, vals_name[value.id] + res[id][prop_name] = ng else: for id, value in values.iteritems(): res[id][prop_name] = value