From 3b48e32205a3d97035af64cde507d58c41c5c6d5 Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Sun, 14 Jun 2026 10:36:15 +0700 Subject: [PATCH] feat: use branch_latitude and branch_longitude on res.company and map them in the API to avoid related fields and geolocalize model conflicts --- controllers/main.py | 5 ++++- models/res_company.py | 15 ++------------- views/res_company_views.xml | 4 ++-- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/controllers/main.py b/controllers/main.py index b278ef7..8793b3b 100644 --- a/controllers/main.py +++ b/controllers/main.py @@ -212,9 +212,12 @@ class AppNotificationController(http.Controller): try: branches = request.env['res.company'].sudo().search_read( [('parent_id', '!=', False)], - ['name', 'street', 'city', 'phone', 'partner_latitude', 'partner_longitude'], + ['name', 'street', 'city', 'phone', 'branch_latitude', 'branch_longitude'], limit=50 ) + for branch in branches: + branch['partner_latitude'] = branch.pop('branch_latitude', 0.0) + branch['partner_longitude'] = branch.pop('branch_longitude', 0.0) return {'status': 'success', 'data': branches} except Exception as e: return {'status': 'error', 'message': str(e)} diff --git a/models/res_company.py b/models/res_company.py index 7229d0a..93ae03e 100644 --- a/models/res_company.py +++ b/models/res_company.py @@ -4,17 +4,6 @@ from odoo import models, fields class ResCompany(models.Model): _inherit = 'res.company' - 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) + branch_latitude = fields.Float(string="Latitude") + branch_longitude = fields.Float(string="Longitude") - 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 diff --git a/views/res_company_views.xml b/views/res_company_views.xml index 9fa2a91..5dc2e40 100644 --- a/views/res_company_views.xml +++ b/views/res_company_views.xml @@ -6,8 +6,8 @@ - - + +