Skip to content

[19.0][MIG] base_geoengine: migrate to 19.0#446

Open
leNeo wants to merge 3 commits intoOCA:19.0from
leNeo:19.0
Open

[19.0][MIG] base_geoengine: migrate to 19.0#446
leNeo wants to merge 3 commits intoOCA:19.0from
leNeo:19.0

Conversation

@leNeo
Copy link

@leNeo leNeo commented Mar 16, 2026

Summary

  • Migrate base_geoengine module to Odoo 19.0
  • Migrate JavaScript frontend from legacy widgets to OWL/ESM architecture
  • Update bundled libraries: OpenLayers 10.5.0, Chroma.js 3.1.2, Geostats 2.1.0
  • Refactor domain handling with monkey-patching for Odoo 19 ORM compatibility (geo operators integration)
  • Fix OCA compliance issues found during pre-publication review

Changes in this PR

OCA Compliance fixes

  • models/__init__.py: Replace old-style verbose GPL header with standard OCA # Copyright / # License AGPL-3.0 format
  • __init__.py (root): Add missing license header
  • domains.py: Add missing license header
  • readme/HISTORY.md: Add 19.0.1.0.1 changelog entry
  • readme/INSTALL.md: Fix RST syntax (.. code-block:: bash) mixed with Markdown, fix typo "documenation"
  • readme/DESCRIPTION.md: Fix typo "PostgGIS" → "PostGIS"
  • readme/CONTRIBUTORS.md: Remove empty email brackets for contributor entry
  • expressions.py: Replace Python 3.10+ match/case with dict-based dispatch for pre-commit compatibility

Core migration (already done before this PR)

  • JavaScript migrated to ESM modules (.esm.js) with OWL components
  • Domain system adapted for Odoo 19 ORM (DomainCondition monkey-patching)
  • fields.Field._condition_to_sql extended for geo operators
  • Tests updated to use add_to_registry / _setup_models__ (Odoo 19 API)

Pre-commit validation

All hooks pass: pre-commit run --all-files

  • oca-gen-addon-readme, prettier, eslint (0 errors), ruff, ruff-format, pylint_odoo, xml checks

Test plan

  • Install module on a fresh Odoo 19 database with PostGIS enabled
  • Run unit tests: odoo-bin -d test_db -i base_geoengine --test-enable --stop-after-init
  • Verify geoengine view loads correctly in backend
  • Test geo search operators (intersect, contains, within, touch, greater, lesser, equal)
  • Verify raster and vector layer configuration works

leNeo and others added 3 commits March 16, 2026 16:45
models/__init__.py — Licence non-standard → format OCA
readme/HISTORY.md — Ajout section 19.0.1.0.1
readme/INSTALL.md — RST .. code-block:: → Markdown ```bash ``` + typo "documenation"
readme/CONTRIBUTORS.md — Entrée vide Red Butay \<\> nettoyée
__init__.py (racine) — Ajout en-tête licence AGPL-3.0
domains.py — Ajout en-tête licence AGPL-3.0
readme/DESCRIPTION.md — Typo "PostgGIS" → "PostGIS"
readme/ROADMAP.md — Nettoyé (était juste des lignes vides)
expressions.py — match/case (Python 3.10+) remplacé par dict lookup (compatible pre-commit Python 3.9)
README.rst — Régénéré automatiquement par oca-gen-addon-readme
records_panel.xml — Formaté automatiquement par prettier
… warning

The base_geoengine module requires PostGIS extensions, so the CI service
must use postgis/postgis:14-3.5 instead of plain postgres:13.
Also suppress the Odoo 19 http_interface deprecation warning in checklog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@leNeo leNeo mentioned this pull request Mar 16, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant