From 1fcf11f3a31c0d802824076979562f0f788d5c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 8 Apr 2008 11:26:36 +0200 Subject: [PATCH 1/2] Fix name_get to work with one id --- address.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/address.py b/address.py index 8f968b4a47..c0e3f14487 100644 --- a/address.py +++ b/address.py @@ -1,8 +1,11 @@ +'Address' from trytond.osv import fields, OSV + STATES = { 'readonly': "active == False", } + class Address(OSV): "Partner Address" _name = 'partner.address' @@ -27,20 +30,20 @@ class Address(OSV): active = fields.Boolean('Active') sequence = fields.Integer("Sequence") - def default_active(self, cursor, user, context=None): return 1 def name_get(self, cursor, user, ids, context=None): - if not len(ids): + if not ids: return [] + if isinstance(ids, (int, long)): + ids = [ids] res = [] for address in self.browse(cursor, user, ids, context): res.append((address.id, ", ".join(x for x in [address.name, address.partner.name, address.zip, address.city] if x))) return res - def name_search(self, cursor, user, name, args=None, operator='ilike', context=None, limit=80): if not args: From 4a1d8e146f6ca6856d39b44d9ad8dd32ab2108e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Tue, 8 Apr 2008 11:27:11 +0200 Subject: [PATCH 2/2] Fix address_get to use context and return False instead of None --- partner.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/partner.py b/partner.py index 69ee44b7f4..544b9ea8bb 100644 --- a/partner.py +++ b/partner.py @@ -49,7 +49,7 @@ class Partner(OSV): def default_active(self, cursor, user, context=None): return 1 - def address_get(self, cursor, user, partner_id, type=None): + def address_get(self, cursor, user, partner_id, type=None, context=None): """ Try to find an address for the given type, if no type match the first address is return. @@ -57,13 +57,14 @@ class Partner(OSV): address_obj = self.pool.get("partner.address") address_ids = address_obj.search( cursor, user, [("partner","=",partner_id),("active","=",True)], - order="sequence, id") + order="sequence, id", context=context) if not address_ids: - return None + return False default_address = address_ids[0] if not type: return default_address - for address in address_obj.browse(cursor, user, address_ids): + for address in address_obj.browse(cursor, user, address_ids, + context=context): if address[type]: return address.id return default_address