diff --git a/data/fields_default.xml b/data/fields_default.xml index e4b30ae..99f6097 100644 --- a/data/fields_default.xml +++ b/data/fields_default.xml @@ -27,7 +27,7 @@ ctx = { "amount_fractional": 0, "seller_company_name": seller.name, - "seller_business_address": seller.full_adress, + "seller_business_address": seller.full_address, "seller_representer_name": seller.representative_id.name, "seller_representer_name_parent": seller.representative_id.name_parent_case, "seller_representer_name_initials": seller.representative_id.name_initials_case, @@ -42,7 +42,7 @@ ctx = { "seller_phone": partner.phone, "partner_company_name": partner.name, - "partner_business_address": partner.full_adress, + "partner_business_address": partner.full_address, "partner_representer_name": partner.representative_id.name, "partner_representer_name_parent": partner.representative_id.name_parent_case, "partner_representer_name_initials": partner.representative_id.name_initials_case, diff --git a/models/res_partner.py b/models/res_partner.py index 20f60aa..a2f8fab 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -22,8 +22,8 @@ class ResPartner(models.Model): compute='_compute_contract_count', string='# of contracts' ) - full_adress = fields.Char( - compute='_compute_full_adress' + full_address = fields.Char( + compute='_compute_full_address' ) # Check for res.partner.contact_address in base/res street_actual = fields.Many2one( 'res.partner', @@ -56,23 +56,18 @@ class ResPartner(models.Model): string='Client signature' ) - @api.one @api.depends('street', 'street2', 'city', 'state_id', 'zip', 'country_id') - def _compute_full_adress(self): - address = "" - full_street = "{} {}".format( - self.street or "", self.street2 or "").strip() - - if self.zip: - address += "{}, ".format(self.zip) - - address += ", ".join(map(lambda el: el, - ( - self.country_id.name or "", - self.city or "", - full_street or "" - ))) - self.full_adress = address + def _compute_full_address(self): + for record in self: + data = filter(None, + map(lambda s: s and s.strip(), [ + record.zip, + record.street, + record.street2, + record.country_id.name, + record.city + ])) + record.full_address = ', '.join(data) @api.one @api.depends('self.client_contract_ids')