From fc28192527761b027f63620952779d66740c8d8b Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 7 Oct 2011 15:10:52 +0200 Subject: [PATCH] [IMP] if no address value is provided for res.partner.bank default_get context, try to read the address from its id the web client currently does not send all record data when an o2m is used as a context value, it only sends the ids (at least when the o2m records have not been locally modified) bzr revid: xmo@openerp.com-20111007131052-4qqo027b2mp16nd6 --- openerp/addons/base/res/res_bank.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/openerp/addons/base/res/res_bank.py b/openerp/addons/base/res/res_bank.py index 5a7c73c7f6d..82d3717aa8b 100644 --- a/openerp/addons/base/res/res_bank.py +++ b/openerp/addons/base/res/res_bank.py @@ -106,10 +106,14 @@ class res_partner_bank(osv.osv): value = '' if not context.get('address', False): return value - for ham, spam, address in context['address']: - if address.get('type', False) == 'default': + for _, id, address in context['address']: + if not (id or address): continue + if not address: + address = self.pool['res.partner.address']\ + .read(cursor, user, [id], ['type', field], context=context)[0] + if address.get('type') == 'default': return address.get(field, value) - elif not address.get('type', False): + elif not address.get('type'): value = address.get(field, value) return value