From 8a1010ba48ca265a6d64535ae72f46ef36d07157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 3 Jan 2020 14:17:03 +0000 Subject: [PATCH] [REV] base(_address_extended): revert 44221cffacda47a39cdf5f66f15f3d79b732c71b MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit reverts commit 44221cffacda47a39cdf5f66f15f3d79b732c71b called "[FIX] base_address_extended: Fix cache miss bug" . Indeed it fixes the cache miss bug but introduces another one which completely breaks address encoding. How to reproduce * create a company with address bits (street_name, street_number, street_number2); * update one of those fields, e.g. street_number2; * other fields are emptied once saved, e.g. street_name and street_number are False; * both company and its partner records are now incorrect; This is probably due to the unique inverse method introduced by the reverted patch that sends only the updated value to the inverse method, leading to other values being reset. Original task ID 2068145 PR odoo/odoo#42701 X-original-commit: 3f4862ee8c9193719abd8e6dd647e6584f232103 Co-authored-by: Thibault Delavallée Co-authored-by: Aurélien Warnon --- .../models/base_address_extended.py | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/addons/base_address_extended/models/base_address_extended.py b/addons/base_address_extended/models/base_address_extended.py index 83b27f35374..173e45abb3d 100644 --- a/addons/base_address_extended/models/base_address_extended.py +++ b/addons/base_address_extended/models/base_address_extended.py @@ -152,11 +152,11 @@ class Company(models.Model): _inherit = 'res.company' street_name = fields.Char('Street Name', compute='_compute_address', - inverse='_inverse_street') + inverse='_inverse_street_name') street_number = fields.Char('House Number', compute='_compute_address', - inverse='_inverse_street') + inverse='_inverse_street_number') street_number2 = fields.Char('Door Number', compute='_compute_address', - inverse='_inverse_street') + inverse='_inverse_street_number2') def _get_company_address_fields(self, partner): address_fields = super(Company, self)._get_company_address_fields(partner) @@ -167,10 +167,14 @@ class Company(models.Model): }) return address_fields - def _inverse_street(self): + def _inverse_street_name(self): for company in self: - company.partner_id.write({ - 'street_name': company.street_name, - 'street_number': company.street_number, - 'street_number2': company.street_number2 - }) + company.partner_id.street_name = company.street_name + + def _inverse_street_number(self): + for company in self: + company.partner_id.street_number = company.street_number + + def _inverse_street_number2(self): + for company in self: + company.partner_id.street_number2 = company.street_number2