Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
472 commits
Select commit Hold shift + click to select a range
801564e
Don't zoom when setting or changing a geometry
yvaucher Apr 22, 2016
fba3d6b
Add an option to set a default zoom to avoid showing a map that you a…
yvaucher Apr 22, 2016
0b773b5
No key argument in js, set an optional argument instead with default …
yvaucher Apr 27, 2016
848a3b0
Add an action on map info box to open the selected object in form view
yvaucher May 31, 2016
1abe0f9
Update Roadmap
yvaucher May 31, 2016
66cbdf9
Bump version
yvaucher Jun 1, 2016
3cb6e8d
Fix z-index of Openlayers map container to ensure it doesn't hide sea…
yvaucher Jul 13, 2016
77227c8
Fix unitialized map on 2nd tab of popup forms
yvaucher Jul 14, 2016
f614cfb
Bump version
yvaucher Jul 29, 2016
a3cadcd
Fix geoengine tests with addition of default_zoom
yvaucher Sep 1, 2016
6bb89d0
[FIX] from_latlon method srdi was incorrect
alan196 Sep 10, 2016
8141876
[MIG] Make modules uninstallable
pedrobaeza Oct 6, 2016
5407259
[MIG] Rename manifest files
pedrobaeza Oct 6, 2016
68e8d72
[IMP] OL3
lmignon Jun 23, 2015
e873676
Remove disabling stopdown as it is included in OL3
yvaucher Oct 3, 2016
b9ccc36
Add click on feature event
lmignon Oct 3, 2016
0d1f3f9
Fix Mapinfo box + set cursor pointer
yvaucher Oct 3, 2016
861a103
[FIX] map styling and fullscreen mode
lmignon Jun 25, 2015
fed3860
chromojs
lmignon Jun 28, 2015
bb596ea
FIX legend
lmignon Jul 2, 2015
fb0295d
bump OL version to 3.18.2
damdam-s Oct 3, 2016
25d30d4
fitExtent is deprecated by fit
yvaucher Oct 4, 2016
f7bbdc0
Remove MapQuest
Oct 4, 2016
08ac615
Fix Represenation Mode colored label
Oct 4, 2016
e3b6068
Fix map size error when open record in a fullscreen map.
Oct 4, 2016
db6bff8
Add selection controlers
yvaucher Sep 1, 2016
c5d7bae
Change display of map box info if multiple features are selected
yvaucher Sep 1, 2016
9c12e68
Fix css missing bracket
yvaucher Oct 4, 2016
8fd9ebe
Add button to filter by selected geo features
yvaucher Sep 2, 2016
7b93e90
Implement button to switch in box selection
yvaucher Sep 5, 2016
bff9531
Improve button to filter features
yvaucher Sep 5, 2016
e5170f6
Fix feature counter on view map
yvaucher Oct 4, 2016
fd7940a
Port creation of filter on selection
yvaucher Oct 4, 2016
76f489f
Improve filter selection button to fix with open single element button
yvaucher Oct 4, 2016
5f208a5
Fix extent error when no feature are present
yvaucher Oct 4, 2016
1233dd5
Set fa icon for geo selection filter
yvaucher Oct 4, 2016
daef533
Add a selection dragbox when holding SHIFT
yvaucher Oct 4, 2016
299ecf8
[IMP] multi layer selection of records on Geoengine map
yvaucher Oct 4, 2016
d968065
geoengine widget first part:
damdam-s Oct 5, 2016
a15ce7a
Remove ol alias
yvaucher Oct 6, 2016
cc05928
Define edit layer of geoengine widget
yvaucher Oct 7, 2016
d692fa4
Add modify interaction on geoengine widget (modify interaction needs …
yvaucher Oct 8, 2016
c932e21
Add comment on restrictedExtent
yvaucher Oct 8, 2016
5528284
Remove former fix for scrolling as it is not needed with OL3
yvaucher Oct 8, 2016
9d1aaba
remove comment
yvaucher Oct 8, 2016
b466933
Remove google raster layer deprecated option
yvaucher Oct 8, 2016
640faa9
Remove former ol2 and unused libraries
yvaucher Oct 8, 2016
a59fc19
Fix onchange for modify control
yvaucher Oct 9, 2016
fd3e35d
Fix geostat color legend position
yvaucher Oct 9, 2016
3c292af
Reimplement button to clear geometry from edition widget
yvaucher Oct 9, 2016
66b6f09
Update license headers
yvaucher Oct 14, 2016
d22e3c1
[PORT] base_geoengine to 10.0 - remove old API
yvaucher Oct 22, 2016
5ffdfdf
jslint
yvaucher Oct 24, 2016
ea71d1e
[FIX] #132: geo columns were created by odoo base models
Apr 5, 2017
e074294
[FIX] Column should be created if GeoField is computed and stored
benwillig Aug 10, 2017
f6c4a02
[FIX] Cache value for a geo field should be the the hex code. convert…
benwillig Aug 10, 2017
b2d11c9
[ADD] New method to convert 2 points to a LineString
benwillig Aug 10, 2017
d356cef
[FIX] Fixed tests. Added new tests for new methods
benwillig Aug 10, 2017
9c73ca2
[FIX] Pylint
benwillig Aug 10, 2017
7b339a3
[FIX] Handle convert_to_record case when there is no value or if it's…
benwillig Aug 10, 2017
a40af2a
[FIX] Do not hardcode string during line creation from points
benwillig Aug 10, 2017
c8980ab
[IMP] Allow to define layers which will be active on startup
benwillig Aug 10, 2017
2b1cee2
[ADD] Allow to display a configurable popup on map layers.
benwillig Aug 21, 2017
325718c
[IMP] Allow to change the size of the drawn circle
benwillig Sep 6, 2017
282e7ee
[IMP] Allow to pass a specific srid to GeoLine.from_points method
benwillig Sep 18, 2017
0477201
[Add] Allow to display labels on polygons for layers
dek-odoo Apr 1, 2018
997d2af
[FIX] Replace openerp imports
ecino Apr 20, 2018
204be11
Fix Lint & Travis CI issues
dek-odoo Jun 16, 2018
d67acc3
[10, Add] Allow to set opacity on layers (#165)
dek-odoo Jul 3, 2018
78ca471
[FIX] typo in base_geoengine javascript. (#166)
ecino Jul 4, 2018
cd920dd
Play python 2to3
Tonow-c2c Oct 1, 2018
f4b5536
Remove coding: utf-8
Tonow-c2c Oct 1, 2018
54e1b2e
Readme split in readme folder
Tonow-c2c Oct 1, 2018
f03d7cb
Fix signature change on _setup_fields
yvaucher Oct 1, 2018
5e048d1
_select_column_data is replaced by tools.table_columns
yvaucher Oct 1, 2018
2499251
Change signature of convert_to_column to to introduction of multi val…
yvaucher Oct 1, 2018
350d4ea
Use new MVC approach
yvaucher Oct 1, 2018
3af2c75
Fix geoengine view for Odoo 11
asaunier Oct 24, 2018
d4f930b
Fix geoengine widget for Odoo 11
asaunier Oct 31, 2018
4524387
Reorganise geoengine files
asaunier Nov 1, 2018
ff0844c
Add base_geoengine README back
asaunier Nov 1, 2018
6f43537
Add support of onchange requests to convert_to_record
asaunier Nov 6, 2018
a43d695
Update WMTS backgrounds creation
asaunier Nov 7, 2018
b7ef6dd
Fix JS lint errors
asaunier Nov 7, 2018
9c88f72
Fix travis tests
asaunier Nov 8, 2018
6d91722
Fix layer switcher
asaunier Nov 8, 2018
2e95102
Improve handling of maps in tabs
asaunier Nov 9, 2018
c4f6047
Improve WMTS background layers creation
asaunier Nov 9, 2018
abbb490
Upgrade to OL 3.20.1
asaunier Nov 9, 2018
e99b316
Move base_geoengine tests to a dedicated module
asaunier Jan 10, 2019
19a2ec7
[IMP] Add custom type support for colored render
Dec 14, 2018
324e8f0
Move base_geoengine readme in the right folder
yvaucher Feb 25, 2019
9ae40b4
[UPD] README.rst
OCA-git-bot Feb 25, 2019
a9c4ea5
Add USAGE in base_geoengine
yvaucher Feb 25, 2019
6416774
[UPD] README.rst
OCA-git-bot Feb 25, 2019
11c167d
Mig base_geoengine to version 12.0
yvaucher Feb 23, 2019
61cf1cc
Add geo fields to odoo.fields
yvaucher Feb 23, 2019
cc5f967
Use intheritance of 'base' for GeoModel
yvaucher Feb 23, 2019
10373e6
Avoid creation of columns on abstract models
yvaucher Feb 23, 2019
4f0e10d
pyeval was renamed pyUtils
yvaucher Feb 23, 2019
2832509
Make MissingError translatable for auto install of postgis extension,…
yvaucher Feb 25, 2019
5c37e5a
Simplify super calls with python 3 syntax
yvaucher Feb 25, 2019
7b99823
Use EPSG:3857 instead of EPSG:900913
fredj Feb 25, 2019
b18db75
Remove server_resolutions field in WMTS options
fredj Feb 28, 2019
8ac1d98
Update OL version to OL 4.6.5
yvaucher Mar 22, 2019
d7556ba
JS lint
yvaucher Mar 21, 2019
44fdbd6
Fix dimension field label
yvaucher Mar 22, 2019
ff71702
Give description to geoengine view models
yvaucher Mar 22, 2019
85845c5
Fix duplicate title in README.rst
yvaucher Mar 22, 2019
decaee7
Remove double title in README.rst - in source too this time
yvaucher Mar 29, 2019
bf4163f
[12.0][ADD] Support of Swisstopo layers
asaunier Mar 18, 2019
36cf6e4
Fix selection of ttype field on ir.model.fields
yvaucher May 1, 2019
a75d544
Bump version
yvaucher May 22, 2019
58b87a8
[13.0][MIG] base_geoengine
Oct 1, 2019
5b1c7ce
Fix state of field for geo field to 'base'
yvaucher Sep 29, 2019
18cedf3
Remove view_type from views
Jan 23, 2020
4dd9645
run pre-commit
Jan 14, 2020
cd13f47
Fix Selection field display value in map info_box
yvaucher Oct 18, 2019
49c1a81
[fix] displaying relation fields in map info box - fixes #224
alpham-andela Jan 10, 2020
dbbc216
FIX: Refresh geoengine widget after changing record through pager action
grindtildeath Dec 11, 2019
49ba1f3
FIX: Call render instead of renderMap to ensure geometries layers are…
grindtildeath Jan 13, 2020
8b8a841
remove executable permission from geoenigine_record.js
Jan 14, 2020
9f6365a
pre-commit with correct config
Jan 14, 2020
ad84173
Fix geometry field creation missing configurations
yvaucher Oct 1, 2019
6c4f7db
pre-commit
Jan 15, 2020
a032cdf
[12.0][IMP] Use default zoom when creating a map with no geometry
asaunier Oct 31, 2019
64b7c5a
base_geoengine 13.0.1.0.1
OCA-git-bot Feb 25, 2020
5d79228
[IMP] base_geoengine: remove unnecessary hack
Creamaster May 14, 2020
f17a536
[UPD] Update base_geoengine.pot
oca-travis Jun 8, 2020
7fb9ce4
Fix default_extent in views
TDu Jun 10, 2020
a122ca6
base_geoengine 13.0.1.0.2
OCA-git-bot Jun 10, 2020
d22effc
[LINT] pre-commit
brian10048 Apr 14, 2021
12ef3d8
Update CONTRIBUTORS
yvaucher Oct 18, 2019
365545a
[UPD] Move from travis to github actions
NL66278 Jan 10, 2023
88820fe
[IMP] base_geoengine: black, isort, prettier
yvaucher Jan 31, 2023
1d74830
[MIG] base_geoengine: Migration to 14.0
yvaucher Jan 31, 2023
79d5dba
[FIX] base_geoengine: use shape() instead of asShape()
NL66278 Jan 10, 2023
a1ac9c9
Yannick Vaucher renaming to Yannick Payot
yvaucher Feb 1, 2023
89663ae
[14.0][FIX]base_geoengine: non-admin users can see maps
HekkiMelody Jan 10, 2023
c466cac
[UPD] Update base_geoengine.pot
Feb 1, 2023
d67f98f
[UPD] README.rst
OCA-git-bot Feb 1, 2023
691baa0
[IMP] base_geoengine: black, isort, prettier
kouffsamuel Feb 13, 2023
c6438ed
[MIG] base_geoengine : migration from odoo 14 to odoo 16
kouffsamuel Feb 14, 2023
8d53031
[ADD] base_geoengine: display field geo_edit_map with multipolygon an…
kouffsamuel Feb 15, 2023
30ccdf5
[FIX] base_geoengine: fix zip creation and refractor geo_edit_map
kouffsamuel Feb 15, 2023
43841c7
[FIX] base_geoengine: fix retails machine and start geoengine view fix
kouffsamuel Feb 16, 2023
b4916c7
[FIX] base_geoengine: fix geoengine view renderer
kouffsamuel Feb 18, 2023
f0b8056
[ADD] base_geoengine: add left-side menu for layers
kouffsamuel Feb 19, 2023
3305e23
[FIX] base_geoengine: display raster layers for zip and retail machin…
kouffsamuel Feb 21, 2023
201def7
[FIX] base_geoengine: display vector layers for zip and retail machines
kouffsamuel Feb 23, 2023
d20863f
[FIX] remove ref to submodule
kouffsamuel Feb 24, 2023
eae567d
[FIX] base_geoengine: display info box
kouffsamuel Feb 28, 2023
26dcbdb
[FIX] base_geoengine: button to edit record on info box + fix display…
kouffsamuel Feb 28, 2023
8957ce6
[FIX] base_geogines: fix bugs and use opacity of the layer management
kouffsamuel Mar 1, 2023
7b04733
[FIX] base_geoengine: code cleaning
kouffsamuel Mar 2, 2023
29fa22c
[FIX] base_geoengine: fix pre-commit
kouffsamuel Mar 2, 2023
9374629
[IMP][FIX] base_geoengine: start model tests and fix retail machines …
kouffsamuel Mar 6, 2023
13eacf3
[IMP] base_geoengine: end model tests
kouffsamuel Mar 6, 2023
29c9b5e
changing the default SRID (correction of the previous one)
lmarion-source May 27, 2020
e8f7475
[IMP] base_geoengine: add tests from_lat_lonand to_lat_lon
kouffsamuel Mar 6, 2023
124ecf7
[IMP] base_geoengine: refactor geo_search
kouffsamuel Mar 7, 2023
1a496fe
[FIX] base_geoengine: current_field __leaf_to_sql
kouffsamuel Mar 7, 2023
abd8262
[FIX] base_geoengine: Display Labels on Polygon
kouffsamuel Mar 8, 2023
109c455
[FIX] base_geoengine: fix srid
kouffsamuel Mar 8, 2023
c9c3893
[FIX] base_geoengine: fix column definition at install
kouffsamuel Mar 9, 2023
d2505a8
[IMP] base_geoengine: geo_search is deprecated, normal search method …
kouffsamuel Mar 9, 2023
8a49a7c
[FIX] base_geoengine: fix __leaf_to_sql by adding our own where_calc …
kouffsamuel Mar 10, 2023
7aaf804
[FIX] base_geoengine: fix fields SRID
kouffsamuel Mar 13, 2023
f2d79ed
[IMP] base_geoengine : Access rules
kouffsamuel Mar 14, 2023
4c827a6
[IMP] base_geoengine: Allows to define a model on the vector layer to…
kouffsamuel Mar 15, 2023
c7d5c5d
[FIX] base_geoengine: fix priority and add domain on geo_field_id
kouffsamuel Mar 15, 2023
635db3a
[IMP] base_geoengine: this code seems not to be used
kouffsamuel Mar 15, 2023
24ac623
[ADD] base_geoengine : add copyright
kouffsamuel Mar 16, 2023
11344e2
[FIX] base_geoengine: Use different types of source for rasters layers
kouffsamuel Mar 16, 2023
bcaaf33
[ADD] base_geoengine: add the possibility to specify a color and an o…
kouffsamuel Mar 16, 2023
1db7c6f
[IMP] base_geoengine: readme, refactor and documentation
kouffsamuel Mar 20, 2023
99dce78
[FIX] base_geoengine: fix readme
kouffsamuel Mar 20, 2023
77b7108
[IMP] base_geoengine: moving unnecessary files from the models folder
kouffsamuel Mar 20, 2023
dfe3571
[ADD] base_geoengine: order the vector layer in relation to the sequence
kouffsamuel Mar 20, 2023
b45af26
[FIX] base_geoengine: fix tests
kouffsamuel Mar 20, 2023
138d293
[IMP] base_geoengine: setting up and extending the domain widget on t…
kouffsamuel Mar 28, 2023
cfde9fc
[ADD] base_geoengine: add editing functionnality of domain of a vecto…
kouffsamuel Mar 30, 2023
980a813
[ADD] base_geoengine: Added layer editing functionality and add a sor…
kouffsamuel Apr 4, 2023
c11173e
[ADD] base_geoengine: add access rights in the layer panel
kouffsamuel Apr 5, 2023
964d990
[IMP] base_geoengine: readme, documentation
kouffsamuel Apr 6, 2023
a8201b6
[ADD] base_geoengine: adding a button to fold or unfold layers panel
kouffsamuel Apr 11, 2023
66485f3
[ADD] base_geoengine: adding records panel
kouffsamuel Apr 11, 2023
3729d37
[IMP] base_geoengine: add some interactions to records panel
kouffsamuel Apr 11, 2023
61db471
[ADD] base_geoengine: module translation
kouffsamuel Apr 11, 2023
02d70b5
[FIX] base_geoengine: fix import
kouffsamuel Apr 11, 2023
91add5c
[IMP] base_geoengine: documentation, readme
kouffsamuel Apr 12, 2023
17623e8
[IMP] base_geoengine: edit shape instead of redraw (geo_edit_map)
kouffsamuel Apr 25, 2023
163721d
[ADD] base_geoengine : modification of records from geoengine view
kouffsamuel Apr 28, 2023
98e7e6f
[ADD] base_geoengine: add zoom in localstorage
kouffsamuel Apr 28, 2023
31a71dd
[ADD] base_geoengine: create records on geoengine view
kouffsamuel May 2, 2023
eae1164
[FIX] base_geoengine: fix load related model
kouffsamuel May 8, 2023
c3a7e8d
[FIX] base_geoengine: fix domain widget
kouffsamuel May 8, 2023
ad516b7
[ADD] base_geoengine: add geo_lesser operator
kouffsamuel May 8, 2023
d075335
[FIX] base_geoengine: add some validation constraints
kouffsamuel May 12, 2023
697a529
[FIX] base_geoengine: fix in domain widget
kouffsamuel May 12, 2023
65bd513
[FIX] base_geoengine: fixing the Geoengine Data tab display
kouffsamuel May 12, 2023
12bda14
[IMP] base_geoengine: changing the colour of a control when clicked
kouffsamuel May 15, 2023
b4c9555
[FIX] base_geoengine : fix domain widget with active_ids and add legend
kouffsamuel May 18, 2023
6581c1e
[IMP] base_geoengine: update import
kouffsamuel May 23, 2023
83bb960
[IMP] base_geoengine: remove super.setup() from
kouffsamuel May 23, 2023
820bd0c
[IMP] base_geoengine: replace loadJs and loadCss by loadBundle
kouffsamuel May 23, 2023
b0af0e7
[IMP] base_geoengine: use force when is necessary to add in
kouffsamuel May 23, 2023
343147c
[IMP] base_geoengine: Encapsulate calls in Promise.all
kouffsamuel May 23, 2023
0b5884b
[FIX] base_geoengine: Fix documentation format
lmignon Jun 5, 2023
c364f5b
[UPD] Update base_geoengine.pot
Jun 6, 2023
af4cf63
[UPD] README.rst
OCA-git-bot Jun 6, 2023
56a8b5f
Update translation files
weblate Jun 6, 2023
136cd40
Added translation using Weblate (Spanish)
Ivorra78 Aug 8, 2023
311aecb
Translated using Weblate (Spanish)
Ivorra78 Aug 8, 2023
8b0b9f5
[UPD] README.rst
OCA-git-bot Sep 3, 2023
d6c1333
Update translation files
weblate Oct 9, 2023
962ba21
Added translation using Weblate (Swedish)
jakobkrabbe Nov 2, 2023
1be04de
Translated using Weblate (Swedish)
jakobkrabbe Nov 2, 2023
16341e3
Added translation using Weblate (Italian)
mymage Jan 25, 2024
2f09b1b
Translated using Weblate (Italian)
mymage Jan 26, 2024
3752f4b
[IMP] base_geoengine: pre-commit auto fixes
Apr 25, 2024
2107600
[MIG] base_geoengine: Migration to 17.0
Apr 26, 2024
ed28e43
[UPD] Update base_geoengine.pot
Sep 27, 2024
c2784c6
[BOT] post-merge updates
OCA-git-bot Sep 27, 2024
696aff3
Update translation files
weblate Sep 27, 2024
cbf4a2e
Translated using Weblate (Italian)
mymage Sep 27, 2024
db570ee
[UPDATE] Add rtl ignore for persian and arabic language
Sanazzzmi Nov 18, 2024
6f0a54d
Added translation using Weblate (Chinese (Simplified) (zh_CN))
xtanuiha Nov 25, 2024
896a6d2
[BOT] post-merge updates
OCA-git-bot Nov 25, 2024
23c2cdf
Translated using Weblate (Chinese (Simplified) (zh_CN))
xtanuiha Nov 25, 2024
bc47793
[IMP] base_geoengine: pre-commit auto fixes
cormaza May 26, 2025
f79f445
[18.0][MIG] base_geoengine: Migration to 18.0
cormaza May 26, 2025
bdc21ad
[18.0][UPD] upgrade version of libs used in render
cormaza Jun 11, 2025
23b4064
[UPD] Update base_geoengine.pot
Jul 17, 2025
f8af567
[BOT] post-merge updates
OCA-git-bot Jul 17, 2025
da46aae
[FIX #412] Load openlayers js separately (because it is not minifieble)
katyukha Jan 20, 2026
35685a7
Apply lint fixes
katyukha Jan 20, 2026
3f6559d
[BOT] post-merge updates
OCA-git-bot Jan 22, 2026
0e2eded
[IMP] base_geoengine: Updated field label
anusriNPS Jul 15, 2024
ece79c9
[IMP][base_geoengine]: Update domain for attribute_field_id
anusriNPS Apr 17, 2025
e3c64a4
[IMP] base_geoengine: Include edit button in Popup
anusriNPS Aug 7, 2025
21e683e
[UPD] Update base_geoengine.pot
Feb 23, 2026
8fc4a66
[BOT] post-merge updates
OCA-git-bot Feb 23, 2026
0851f30
Update translation files
weblate Feb 23, 2026
168bedf
Translated using Weblate (Italian)
mymage Feb 26, 2026
a85a672
feat(geoengine.vector.layer): add `intermediate_colors` field for gra…
zamberjo Mar 24, 2026
24534aa
[MIG] base_geoengine: Migration to 19.0
leNeo Apr 5, 2026
247b3ce
feat(geoengine_swisstopo): add multi-projection support for geoengine…
leNeo Apr 5, 2026
e02bcdb
[IMP] base_geoengine: add generated requirements.txt
leNeo Apr 5, 2026
e9b4e04
Delete geoengine_swisstopo directory
leNeo Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
makepot: "true"
services:
postgres:
image: postgres:13
image: postgis/postgis:14-3.5
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is defined in the template and should not be modified manually.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. base_geoengine requires PostGIS for its test database.
The module already creates the extension in its pre-init hook, but that only works if the PostgreSQL service image has PostGIS installed.
Since .github/workflows/test.yml is template-managed, what is the preferred OCA way to handle this for the repository? Should this be done through the template/repo configuration instead of a manual workflow change?

env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
Expand Down
373 changes: 373 additions & 0 deletions base_geoengine/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,373 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

===========================
Geospatial support for Odoo
===========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:a22713167bb39e1995e9bc618b29382cd03bba76a910d58cf62993288b0a385b
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fgeospatial-lightgray.png?logo=github
:target: https://github.com/OCA/geospatial/tree/19.0/base_geoengine
:alt: OCA/geospatial
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/geospatial-19-0/geospatial-19-0-base_geoengine
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/geospatial&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

GeoEngine is an Odoo module that adds spatial/GIS capabilites to Odoo.
It will allow you to :

- Visualize and query your business information on map
- Perform GeoBI and spatial query
- Configure your spatial layers and spatial datasources
- Extend Odoo models with spatial columns

GeoEngine relies on `OpenLayers <http://openlayers.org>`__ and
`PostGIS <http://postgis.refractions.net/>`__ technologies.

Postgis is used to store spatial information in databases. OpenLayer is
used to represent spatial data in other words to show maps and the
different spatial layers. The GeoEngine module acts as a data provider
and as an OpenLayers configurator. It also provides a complete extension
to Odoo ORM.

**Table of contents**

.. contents::
:local:

Installation
============

To install this module, you need to have
`PostGIS <http://postgis.net/>`__ installed.

On Ubuntu:

.. code:: bash

sudo apt-get install postgis

The module also requires two additional python libs:

- `Shapely <http://pypi.python.org/pypi/Shapely>`__
- `geojson <http://pypi.python.org/pypi/geojson>`__

These two additional libs will be installed automatically with the
module.

For a complete documentation please refer to the `public
documentation <http://oca.github.io/geospatial/index.html>`__

Usage
=====

Geoengine Demo
--------------

1. As a user/admin, when I am in the Geoengine Demo module and I go to
the ZIP menu. When I click on an item in the list view, I get to the
form view showing me the different information about the ZIP. We can
see its ZIP, city, priority, total sales and his spatial
representation.
2. As a user, I can't modify the information in the form view.
3. As an admin, I can modify the information in the form view. I can
click on the bin button to clear the map and I can draw a new shape.
4. As a user, when I go the "Retail machines" tab and there are no
items to display, it does not show me anything.
5. As an admin, when I go the "Retail machines" tab and there are no
items to display, the list view of the retail machines suggests to
me to add a new line.
6. As a user/admin, if there are items to be displayed in the "Retail
machines" tab then I can click on an item and the retail machines
form view will be displayed. We can see its spatial representation
by going to "The point" tab and its attributes in "Attributes" tab.
7. As a user/admin, when I go to the geoengine zip view by clicking on
the map button at the top right of the screen. The geoengine view
appears with the first 80 results displayed on the map. The vector
layers selected are those defined as "active on startup" by the
admin. The selected raster layer is the first one that is not an
overlay layer.
8. As a user/admin, when I hover over an area on the map, the area
changes its style.
9. As a user/admin, when I click on an area, a popup appears an I can
see the different information about the area. If I click on the
cross, the popup will disappear. If I click somewhere else on the
map, the popup will also disappear. If I click on the about button,
then the form view will be displayed.
10. As a user/admin, when I use the paging system, then the results
displayed on the map are different (corresponding to the request).
11. As a user/admin, if we use the search bar, we can search results by
his zip or his city.
12. As an admin, if I change the sequence of layers with the handle
button then the change are persisted in database.
13. As a user, if I change the sequence of layers with the handle button
then the change are not persisted in database. There are just the
changes in the display.
14. As an admin, if I change the domain of a layer with the filter
button then the change are persisted in database.
15. As a user, if I change the domain of a layer with the filter button
then the change are not persisted in database. There are just the
changes in the display.
16. As an admin, I have the possibility to edit the layer with its
corresponding button.
17. As a user/admin, I can open/close LayerPanel with its button.
18. As a user/admin, I can open/close RecordsPanel with its button.
19. As a user/admin, when I click on a record in RecordsPanel, a move is
made on the map to the selected record.
20. As a user/admin, when I click on a record in RecordsPanel, I can
also click on the left magnifying glass to zoom on the record.
21. As a user/admin, when I click on a record in RecordsPanel, I can
also click on the right magnifying glass to get the original zoom.
22. As a user/admin, I can use the search bar to search in the
RecordsPanel.
23. As an admin,If the geoengine view is in edit mode, I can create new
records by drawing them in the view.
24. As an admin, If the geoengine view is in edit mode, I can modify its
spatial representation.

Geoengine Backend
-----------------

1. As an admin, if I go into the configuration of the raster layers and
it has elements, I can click on one and see its information.
2. As an admin, if I want to create a new raster layer, I can click on
"NEW" and fill out the form. The required fields for OpenStreetMap
type are "Layer Name" and "Related View". If we want to have a WMTS
(Web Map Tile Service) raster type. The required fields in addition
to the precedents are "Service URL", "Matrix set","Format",
"Projection" and "Resolutions". If we take WMS (Web Map Service)
raster type, then the required fields are "Layer Name", "Related
View", "Service URL", "Params", "Server Type".
3. As an admin,if I go into the configuration of the vector layers and
it has elements, I can click on one and see its information.
4. As an admin, if I want to create a new vector layer, I can click on
"NEW" and fill out the form. The required fields are "Layer Name",
"Related View", "Geo field" and "Representation mode".

Known issues / Roadmap
======================



Changelog
=========

19.0.1.0.1
----------

- Migration to Odoo 19.0.
- Migrated JavaScript frontend to OWL/ESM architecture.
- Updated OpenLayers to version 10.5.0.
- Updated Chroma.js to version 3.1.2.
- Refactored domain handling for Odoo 19 ORM compatibility.

16.0.1.0.0 (2023-03-20)
-----------------------

- LayerSwitcher has been removed as it was not really practical. A
LayerPanel is now active.
- The geo_search method is now deprecated and replaced by the standard
odoo search method.
- The widget "geo_edit_map" attribute is no longer necessary as the
field is automatically detected by his type. We can also provide an
option attribute that allows us to pass an opacity and a color as
parameters.

.. code:: xml

<form>
<notebook colspan="4">
<page string="Geometry">
<field name="the_geom" options="{'opacity': 0.8, 'color': '#0000FF' }" />
</page>
</notebook>
</form>

- The method geo_search is now deprecated. We now need to use the
standard odoo search method.

.. code:: python

obj.search([("the_point","geo_intersect",{"dummy.zip.the_geom": [("id", "=", rec.id)]})])

- We can now pass to the geoengine view a template to display the
information we want to see when clicking on a feature.

.. code:: xml

<geoengine>
<field name="name" />
<field name="city" />
<field name="total_sales" />
<field name="the_geom" />
<templates>
<t t-name="info_box">
<field name="city" widget="badge" />
<ul>
<li>ZIP : <field name="name" />
</li>
<li>Total Sales: <field name="total_sales" />
</li>
</ul>
</t>
</templates>
</geoengine>

- We can now pass a model to use to a layer to display other information
on the map.

.. code:: xml

<record id="geoengine_vector_layer_hs_retail_machines" model="geoengine.vector.layer">
<field name="model_id" ref="base_geoengine_demo.model_geoengine_demo_automatic_retailing_machine"/>
<field name="model_domain">[('state', '=', 'hs')]</field>
<field name="geo_field_id" ref="base_geoengine_demo.field_geoengine_demo_automatic_retailing_machine__the_point"/>
<field name="name">HS retail machines</field>
<field name="view_id" ref="ir_ui_view_resbetterzipgeoview0" />
<field name="geo_repr">basic</field>
<field name="attribute_field_id" ref="base_geoengine_demo.field_geoengine_demo_automatic_retailing_machine__name"/>
<field name="begin_color">#FF0000</field>
<field name="display_polygon_labels" eval="0" />
<field name="layer_opacity">0.8</field>
</record>

- There is some new features in the LayerPanel.

1. If you are logged in as an admin, you have the possibility to edit
the layer by clicking on the edit button. This will open a dialog
box. Changes will appear in real time on the view.
2. If you are logged in as an admin, you can also change the domain of
the layer. If you are logged in as a user, changes will not be
persisted in the database. Changes will appear in real time on the
view.
3. If you are logged in as an admin, you can also change the sequence of
the layers by sliding them over each other. If you are logged in as a
user, changes will not be persisted in the database.

- Widget domain is now implemented for geo field This means that the
geo-operators are also implemented and that there is the possibility
to add a sub-domain. If we want to add a domain that includes all the
records that are displayed in the geoengine view (active_ids). We can
use the two new operators : "in active_ids" and "not in active_ids".
These will automatically replace the marker with ids. Note that the
widget will indicate that the domain is invalid because of the marker.
- Creation of the RecordsPanel. This panel allows you to retrieve all
active records. You can click on record to get the movement to the
selected record. Two magnifying glass are also available. You can
click on the left one to zoom on the record. You can click on the
right one to get the original zoom.
- A search bar is also available. It allows you to perform a search into
the RecordsPanel.
- A button to open/close the panels is also available.
- The module has been translated in French.
- Now you can now make the geoengine view editable. Simply add editable
attribute in the geoengine view.

.. code:: xml

<geoengine editable="1">
<field name="name" />
<field name="city" />
<field name="total_sales" />
<field name="the_geom" />
<field name="display_name" />
<templates>
<t t-name="info_box">
<field name="city" widget="badge" />
<ul>
<li>ZIP : <field name="name" />
</li>
<li>Total Sales: <field name="total_sales" />
</li>
</ul>
</t>
</templates>
</geoengine>

Thanks to that, you can create new records by drawing them directly in the geoengine view. You can also edit record in the same view.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/geospatial/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/geospatial/issues/new?body=module:%20base_geoengine%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Camptocamp
* ACSONE SA/NV

Contributors
------------

- Nicolas Bessi <nicolas.bessi@camptocamp.com>
- Frederic Junod <frederic.junod@camptocamp.com>
- Yannick Payot <yannick.payot@camptocamp.com>
- Sandy Carter <sandy.carter@savoirfairelinux.com>
- Laurent Mignon <laurent.mignon@acsone.eu>
- Jonathan Nemry <jonathan.nemry@acsone.eu>
- David Lasley <dave@dlasley.net>
- Daniel Reis <dgreis@sapo.pt>
- Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
- Alan Ramos <alan.ramos@jarsa.com.mx>
- Damien Crier <damien.crier@camptocamp.com>
- Cyril Gaudin <cyril.gaudin@camptocamp.com>
- Pierre Verkest <pverkest@anybox.fr>
- Benjamin Willig <benjamin.willig@acsone.eu>
- Devendra Kavthekar <dkatodoo@gmail.com>
- Emanuel Cino <ecino@compassion.ch>
- Thomas Nowicki <thomas.nowicki@camptocamp.com>
- Alexandre Saunier <alexandre.saunier@camptocamp.com>
- Sandip Mangukiya <smangukiya@opensourceintegrators.com>
- Samuel Kouff <s.kouff@student.helmo.be>
- `APSL-Nagarro <https://www.apsl.tech>`__:

- Antoni Marroig <amarroig@apsl.net>
- Miquel Alzanillas <malzanillas@apsl.net>

- Red Butay
- Sergio Sancho <sersanchus@gmail.com>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/geospatial <https://github.com/OCA/geospatial/tree/19.0/base_geoengine>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
10 changes: 10 additions & 0 deletions base_geoengine/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright 2011-2012 Nicolas Bessi (Camptocamp SA)
# Copyright 2023 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models
from . import expressions
from . import fields
from . import geo_convertion_helper
from . import geo_operators
from .geo_db import init_postgis
from . import domains
Loading
Loading