summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2020-01-07 13:37:34 +0000
committerThibault Delavallée <tde@odoo.com>2020-01-07 14:45:48 +0000
commit7943b71af39bdd5eeae2dcf84c8faf8aa56a2232 (patch)
tree428e7cef0985418ce5ad7d2960963707bd31bee7 /addons
parente582500c4bd316711d55948d0cb820bd7f71d34a (diff)
[FIX] base(_address_extended): correctly update company street information at write
Currently when writing on street field of company model, its sub-fields (notably street_name, street_number and street_number2) are not correctly computed again in cache. Indeed address sub fields have no direct trigger as it depends on its partner_id and its partner_id children (see ``res_partner.address_get()`` and ``res_company._compute_address()``). When writing on address fields from the company record, we then invalidate all address fields cache in order to force their computation. This commit adds a new tool method giving the list of fields coming from the address partner to copy upon the company. Task ID 2158302 PR #42678
Diffstat (limited to 'addons')
-rw-r--r--addons/base_address_extended/models/base_address_extended.py11
1 files changed, 3 insertions, 8 deletions
diff --git a/addons/base_address_extended/models/base_address_extended.py b/addons/base_address_extended/models/base_address_extended.py
index 173e45abb3d..5f5a9c643ef 100644
--- a/addons/base_address_extended/models/base_address_extended.py
+++ b/addons/base_address_extended/models/base_address_extended.py
@@ -158,14 +158,9 @@ class Company(models.Model):
street_number2 = fields.Char('Door Number', compute='_compute_address',
inverse='_inverse_street_number2')
- def _get_company_address_fields(self, partner):
- address_fields = super(Company, self)._get_company_address_fields(partner)
- address_fields.update({
- 'street_name': partner.street_name,
- 'street_number': partner.street_number,
- 'street_number2': partner.street_number2,
- })
- return address_fields
+ def _get_company_address_field_names(self):
+ fields_matching = super(Company, self)._get_company_address_field_names()
+ return list(set(fields_matching + ['street_name', 'street_number', 'street_number2']))
def _inverse_street_name(self):
for company in self: