diff --git a/models/res_company.py b/models/res_company.py index d8758dc..7229d0a 100644 --- a/models/res_company.py +++ b/models/res_company.py @@ -4,5 +4,17 @@ from odoo import models, fields class ResCompany(models.Model): _inherit = 'res.company' - partner_latitude = fields.Float(string="Latitude") - partner_longitude = fields.Float(string="Longitude") + partner_latitude = fields.Float(string="Latitude", compute="_compute_coords", inverse="_inverse_coords", store=False) + partner_longitude = fields.Float(string="Longitude", compute="_compute_coords", inverse="_inverse_coords", store=False) + + def _compute_coords(self): + for company in self: + company.partner_latitude = getattr(company.partner_id, 'partner_latitude', 0.0) + company.partner_longitude = getattr(company.partner_id, 'partner_longitude', 0.0) + + def _inverse_coords(self): + for company in self: + if hasattr(company.partner_id, 'partner_latitude'): + company.partner_id.partner_latitude = company.partner_latitude + if hasattr(company.partner_id, 'partner_longitude'): + company.partner_id.partner_longitude = company.partner_longitude