From 4bb6583b3b317dd7c81510022583007f98774f9b Mon Sep 17 00:00:00 2001 From: anusrinps96 Date: Tue, 21 Apr 2026 15:20:40 +0200 Subject: [PATCH] [16.0][IMP] base_geoengine: Avoid error seen clicking on RecordPanel When a record in record panel does not contain latitude and longitude details, it fails with error "feature is null". Avoiding this error and notifying the user to update required details to view the record. --- base_geoengine/i18n/base_geoengine.pot | 9 ++++ base_geoengine/i18n/it.po | 8 ++++ .../geoengine_renderer.esm.js | 43 ++++++++++++------- 3 files changed, 45 insertions(+), 15 deletions(-) diff --git a/base_geoengine/i18n/base_geoengine.pot b/base_geoengine/i18n/base_geoengine.pot index f0556edba..18388c20d 100644 --- a/base_geoengine/i18n/base_geoengine.pot +++ b/base_geoengine/i18n/base_geoengine.pot @@ -6,6 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-29 13:34+0000\n" +"PO-Revision-Date: 2026-05-29 13:34+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -527,6 +529,13 @@ msgstr "" msgid "Please create a view or modify view mode" msgstr "" +#. module: base_geoengine +#. odoo-javascript +#: code:addons/base_geoengine/static/src/js/views/geoengine/geoengine_renderer/geoengine_renderer.esm.js:0 +#, python-format +msgid "Please update latitude and longitude details for: \"%s\"" +msgstr "" + #. module: base_geoengine #: model:ir.model.fields,field_description:base_geoengine.field_ir_model_fields__dim msgid "PostGIs Dimension" diff --git a/base_geoengine/i18n/it.po b/base_geoengine/i18n/it.po index 48048b7ab..dc294e427 100644 --- a/base_geoengine/i18n/it.po +++ b/base_geoengine/i18n/it.po @@ -548,6 +548,14 @@ msgstr "Parametri WMS" msgid "Please create a view or modify view mode" msgstr "Creare una vista o modificare la modalità di visualizzazione" +#. module: base_geoengine +#. odoo-javascript +#: code:addons/base_geoengine/static/src/js/views/geoengine/geoengine_renderer/geoengine_renderer.esm.js:0 +#, python-format +msgid "Please update latitude and longitude details for: \"%s\"" +msgstr "" +"Si prega di aggiornare le coordinate di latitudine e longitudine per: \"%s\"" + #. module: base_geoengine #: model:ir.model.fields,field_description:base_geoengine.field_ir_model_fields__dim msgid "PostGIs Dimension" diff --git a/base_geoengine/static/src/js/views/geoengine/geoengine_renderer/geoengine_renderer.esm.js b/base_geoengine/static/src/js/views/geoengine/geoengine_renderer/geoengine_renderer.esm.js index 41e79c9ca..efad92403 100644 --- a/base_geoengine/static/src/js/views/geoengine/geoengine_renderer/geoengine_renderer.esm.js +++ b/base_geoengine/static/src/js/views/geoengine/geoengine_renderer/geoengine_renderer.esm.js @@ -573,22 +573,35 @@ export class GeoengineRenderer extends Component { onDisplayPopupRecord(record) { const popup = this.getPopup(); const feature = this.vectorSource.getFeatureById(record.resId); - if (feature !== undefined) { - this.mountGeoengineRecord({ - popup, - archInfo: this.props.archInfo, - templateDocs: this.props.archInfo.templateDocs, - record, + if (feature === null) { + this.notification.add( + sprintf( + this.env._t( + 'Please update latitude and longitude details for: "%s"' + ), + record.data.display_name + ), + { + type: "warning", + } + ); + this.clickToHidePopup(); + return false; + } + this.mountGeoengineRecord({ + popup, + archInfo: this.props.archInfo, + templateDocs: this.props.archInfo.templateDocs, + record, + }); + var coord = ol.extent.getCenter(feature.getGeometry().getExtent()); + this.overlay.setPosition(coord); + var map_view = this.map.getView(); + if (map_view) { + map_view.animate({ + center: feature.getGeometry().getFirstCoordinate(), + duration: 500, }); - var coord = ol.extent.getCenter(feature.getGeometry().getExtent()); - this.overlay.setPosition(coord); - var map_view = this.map.getView(); - if (map_view) { - map_view.animate({ - center: feature.getGeometry().getFirstCoordinate(), - duration: 500, - }); - } } }