From 79787b73d26e0f3c30c9006aaebbb54262bc8df9 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Thu, 8 Mar 2012 10:17:45 +0100 Subject: [PATCH] [FIX] base/res_partner: small fix for backward compatibility bzr revid: rco@openerp.com-20120308091745-vtyit22743qx3wl6 --- openerp/addons/base/res/res_partner.py | 8 +++++--- openerp/osv/fields.py | 10 +++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py index 2a428f2..6550d97 100644 --- a/openerp/addons/base/res/res_partner.py +++ b/openerp/addons/base/res/res_partner.py @@ -159,6 +159,7 @@ class res_partner(osv.osv): 'city': fields.char('City', size=128), 'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"), 'country_id': fields.many2one('res.country', 'Country'), + 'country': fields.related('country_id', type='many2one', relation='res.country', string='Country'), # for backward compatibility 'email': fields.char('E-Mail', size=240), 'phone': fields.char('Phone', size=64), 'fax': fields.char('Fax', size=64), @@ -426,7 +427,8 @@ class res_partner_address(osv.osv): _name = 'res.partner.address' _order = 'type, name' _columns = { - 'partner_id': fields.many2one('res.partner', 'Partner Name', ondelete='set null', select=True, help="Keep empty for a private address, not related to partner."), + 'parent_id': fields.many2one('res.partner', 'Company', ondelete='set null', select=True), + 'partner_id': fields.related('parent_id', type='many2one', relation='res.partner', string='Partner'), # for backward compatibility 'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."), 'function': fields.char('Function', size=128), 'title': fields.many2one('res.partner.title','Title'), @@ -450,11 +452,11 @@ class res_partner_address(osv.osv): } def write(self, cr, uid, ids, vals, context=None): - logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") + logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") return super(res_partner_address,self).write(cr, uid, ids, vals, context=context) def create(self, cr, uid, vals, context=None): - logging.getLogger('res.partner').warning("Deprecated, use of res.partner.address and used res.partner") + logging.getLogger('res.partner').warning("Deprecated use of res.partner.address") return super(res_partner_address,self).create(cr, uid, vals, context=context) # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index 7c1761a..922fd5f 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -1155,17 +1155,17 @@ class related(function): def _fnct_search(self, tobj, cr, uid, obj=None, name=None, domain=None, context=None): self._field_get2(cr, uid, obj, context) i = len(self._arg)-1 - sarg = name + sarg = name if isinstance(name, (list, tuple)) else [name] while i>0: - if type(sarg) in [type([]), type( (1,) )]: - where = [(self._arg[i], 'in', sarg)] - else: - where = [(self._arg[i], '=', sarg)] if domain: where = map(lambda x: (self._arg[i],x[1], x[2]), domain) domain = [] + else: + where = [(self._arg[i], 'in', sarg)] sarg = obj.pool.get(self._relations[i]['object']).search(cr, uid, where, context=context) i -= 1 + if domain: # happens if len(self._arg) == 1 + return map(lambda x: (self._arg[0],x[1], x[2]), domain) return [(self._arg[0], 'in', sarg)] def _fnct_write(self,obj,cr, uid, ids, field_name, values, args, context=None): -- 1.7.10.4