[19.0][MIG] base_geoengine: consolidated migration#465
Open
leNeo wants to merge 107 commits into
Open
Conversation
…d create multipolygon
…es and add a menu
…view in geo_edit_map
Before this change, simple geometry column were created without inforamtion regarding the geo type nor the defined SRID. Without these information, the srid has to be expliciltely set when converting data to column format.
…had to be use. Add the possibility to have a right internal domain on the right
…method with our alias to perform search method and fix tests
> > Co-authored-by: Antoni Marroig Campomar <amarroig@apsl.net> Co-authored-by: Red Butay <@reichie020212> Co-authored-by: Miquel Alzanillas <malzanillas@apsl.net> Co-authored-by: Sergio Sancho <sersanchus@gmail.com> "
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: geospatial-17.0/geospatial-17.0-base_geoengine Translate-URL: https://translation.odoo-community.org/projects/geospatial-17-0/geospatial-17-0-base_geoengine/
Currently translated at 100.0% (168 of 168 strings) Translation: geospatial-17.0/geospatial-17.0-base_geoengine Translate-URL: https://translation.odoo-community.org/projects/geospatial-17-0/geospatial-17-0-base_geoengine/it/
Currently translated at 100.0% (168 of 168 strings) Translation: geospatial-17.0/geospatial-17.0-base_geoengine Translate-URL: https://translation.odoo-community.org/projects/geospatial-17-0/geospatial-17-0-base_geoengine/zh_CN/
Update the geometry string parsing logic to automatically attempt WKB hex loading even if the WKB flag is not explicitly set. This handles cases where a hex string is provided but treated as WKT, falling back to WKT parsing only if hex validation fails.
Upgrades external libraries Chroma.js, Geostats, and OpenLayers to newer versions to ensure compatibility and leverage recent improvements. This includes transition to new folder structures for versioned assets.
Moves OpenLayers, Chroma.js, and Geostats out of the standard asset bundle to a dedicated dynamic loading utility. This centralization prevents potential bundler conflicts and ensures libraries are loaded asynchronously only when required. Updates the GeoEngine renderer and map edit widget to utilize this shared loader for dependency initialization.
Updated field label from "Params" to "Params WMS" of params_wms
attribute_field_id domain is updated to use values based on geo_field_id.model_id
The 19.0 migration replaced `_apply_ir_rules` (removed in 19.0) by `_check_field_access`, which no longer applied row-level security (ir.rule) to the spatial sub-query of indirect geo operators. As a result a restricted user could match related records they are not allowed to read. Re-apply record rules in `where_calc`, mirroring `BaseModel._search`, and add a regression test with a non-admin user and an ir.rule.
…(Odoo 19) res.users.groups_id was renamed to group_ids in Odoo 19, which made test_geo_search_indirect_respects_record_rules fail with 'Invalid field groups_id in res.users'. Also bump manifest to 19.0.1.0.2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 tasks
leNeo
added a commit
to leNeo/geospatial
that referenced
this pull request
Jun 27, 2026
…sing-431 Traverse/base geoengine 446 missing 431 thanks a lot for the contribution @leemannd @anusriNPS! 🙏 These commits have also been folded into the new consolidated PR OCA#465, so your work is part of the unified base_geoengine 19.0 migration there too.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Consolidated migration of
base_geoengineto 19.0. This PR brings together thework that was scattered across several places into a single, clean-history PR:
dynamic lib loading and a WKT/WKB detection fix — by @juppe
(Fixes to 19.0 migration and JS libraries update weinni2000/geospatial#7).
Params WMS,attribute_field_iddomain) — originally [18.0][FW] base_geoengine: multiple ports from 16.0 #431.
ir.rule) on the indirect geo-operatorsub-queries. The migration had replaced
_apply_ir_rules(removed in 19.0)by
_check_field_access, which no longer applied row-level security to thespatial sub-query — a restricted user could match related records they are not
allowed to read. Re-applied in
where_calc, mirroringBaseModel._search,with a regression test (non-admin user +
ir.rule).Supersedes
This PR supersedes and should replace:
All three can be closed once this is merged.
Credits
Thanks to @weinni2000 for the migration and for handing over the consolidation,
to @juppe for the library upgrades and fixes, and to @cparadis-impressfoods for
testing. Per-commit authorship is preserved in the history.
Test plan
test_geo_search_indirect_respects_record_rulespasses (new)