[REV] base(_address_extended): revert 44221cffac

This commit reverts commit 44221cffac 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 <tde@odoo.com>
Co-authored-by: Aurélien Warnon <awa@odoo.com>
This commit is contained in:
Thibault Delavallée
2020-01-03 17:29:10 +00:00
co-authored by Aurélien Warnon
parent 65ae1848d7
commit 8a1010ba48
@@ -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