diff --git a/addons/base_address_extended/models/base_address_extended.py b/addons/base_address_extended/models/base_address_extended.py index 0fd99cc8e63..ec788882d09 100644 --- a/addons/base_address_extended/models/base_address_extended.py +++ b/addons/base_address_extended/models/base_address_extended.py @@ -6,7 +6,7 @@ import re from odoo import api, fields, models, _ from odoo.exceptions import UserError -STREET_FIELDS = ('street_name', 'street_number', 'street_number2') +STREET_FIELDS = ['street_name', 'street_number', 'street_number2'] class ResCountry(models.Model): @@ -33,6 +33,10 @@ class Partner(models.Model): street_number2 = fields.Char('Door', compute='_split_street', help="Door Number", inverse='_set_street', store=True) + def _formatting_address_fields(self): + """Returns the list of address fields usable to format addresses.""" + return super(Partner, self)._formatting_address_fields() + self.get_street_fields() + def get_street_fields(self): """Returns the fields that can be used in a street format. Overwrite this function if you want to add your own fields.""" diff --git a/odoo/addons/base/models/res_partner.py b/odoo/addons/base/models/res_partner.py index 625446c95be..97789847bfe 100644 --- a/odoo/addons/base/models/res_partner.py +++ b/odoo/addons/base/models/res_partner.py @@ -444,6 +444,11 @@ class Partner(models.Model): """Returns the list of address fields that are synced from the parent.""" return list(ADDRESS_FIELDS) + @api.model + def _formatting_address_fields(self): + """Returns the list of address fields usable to format addresses.""" + return self._address_fields() + @api.multi def update_address(self, vals): addr_vals = {key: vals[key] for key in self._address_fields() if key in vals} @@ -915,7 +920,7 @@ class Partner(models.Model): 'country_name': self._get_country_name(), 'company_name': self.commercial_company_name or '', } - for field in self._address_fields(): + for field in self._formatting_address_fields(): args[field] = getattr(self, field) or '' if without_company: args['company_name'] = '' @@ -925,7 +930,7 @@ class Partner(models.Model): def _display_address_depends(self): # field dependencies of method _display_address() - return self._address_fields() + [ + return self._formatting_address_fields() + [ 'country_id.address_format', 'country_id.code', 'country_id.name', 'company_name', 'state_id.code', 'state_id.name', ]