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: diff --git a/partner.py b/partner.py index dab477c996..1bbf737ac2 100644 --- a/partner.py +++ b/partner.py @@ -48,7 +48,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. @@ -56,13 +56,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