[FIX] base_address_extended: Fix cache miss bug

Before this commit:
-The company have 3 street fields have separate inverse method this all method is update same partner fields
-Partner also has same 3 street fields but have the same inverse method for all street fields
-Now the problem is when user company street inverse call then partner inverse also call at that time partner inverse try to access other street fields that not available in a cache so an error occurred.

After this commit:
-Company 3 street fields have the same inverse method so no cache problem when accessing all street fields in partner inverse method

task-2068145
Closes #36568

Signed-off-by: Josse Colpaert <jco@openerp.com>
This commit is contained in:
Jigar Vaghela
2019-09-09 13:41:00 +00:00
parent 9407383a56
commit 44221cffac
@@ -152,11 +152,11 @@ class Company(models.Model):
_inherit = 'res.company'
street_name = fields.Char('Street Name', compute='_compute_address',
inverse='_inverse_street_name')
inverse='_inverse_street')
street_number = fields.Char('House Number', compute='_compute_address',
inverse='_inverse_street_number')
inverse='_inverse_street')
street_number2 = fields.Char('Door Number', compute='_compute_address',
inverse='_inverse_street_number2')
inverse='_inverse_street')
def _get_company_address_fields(self, partner):
address_fields = super(Company, self)._get_company_address_fields(partner)
@@ -167,14 +167,10 @@ class Company(models.Model):
})
return address_fields
def _inverse_street_name(self):
def _inverse_street(self):
for company in self:
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
company.partner_id.write({
'street_name': company.street_name,
'street_number': company.street_number,
'street_number2': company.street_number2
})