Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[17.0][MIG] base_geoengine: Migration to 17.0 #368

Merged
merged 445 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
445 commits
Select commit Hold shift + click to select a range
a14ba6e
[MIGR] ensure geoengine view is loaded after container is rendered
yvaucher Nov 18, 2015
baa5353
Not pretending we implement limit and offset
yvaucher Nov 25, 2015
2dce09f
Fix search returning 0 elements on geo view
yvaucher Nov 25, 2015
7192190
Patch mapfish to avoid trying to make more classes than element to cl…
yvaucher Nov 25, 2015
d7770da
Improve patch to classify points to make sure there are as many class…
mdietrichc2c Nov 25, 2015
d62f1e7
Fix a typo on default key
yvaucher Dec 1, 2015
76b34a4
Fix tab event listener to display map widget in form view in last tabs
yvaucher Dec 7, 2015
fbeb4e2
[FIX] display translation of field string instead of field name and d…
yvaucher Jan 22, 2016
b7953ca
[FIX] base_geoengine - allow to use multiple icons on your maps
yvaucher Jan 25, 2016
471ff4e
Allow to drag pan through polygons
yvaucher Jan 27, 2016
f174ff5
By default use OSM
yvaucher Feb 12, 2016
bc7ee58
Fix path of openerp for doc build
yvaucher Feb 15, 2016
b0da64b
Remove google from selection as it is currently broken
yvaucher Feb 16, 2016
e84bb8a
Add geo_contains operator to geo_search method.
yvaucher Feb 16, 2016
017b751
Refactor WMTS to be able to add a generic config
yvaucher Feb 10, 2016
6edebeb
Add a button on map widget to clear geometry from the map
yvaucher Feb 24, 2016
8ae13c0
Fix _setup_fields signature due to OCA/OCB@87d160a
yvaucher Apr 20, 2016
2eadab6
Bump version
yvaucher Apr 20, 2016
b7c0cdd
Adapt test to mandatory partial attribute in _setup_fields
yvaucher Apr 20, 2016
0629acd
Fix srid value read which was unset in field properties
yvaucher Feb 12, 2016
445ffa7
Add parameters to define extends and projection
yvaucher Feb 12, 2016
b4fabf7
Adapt tests
yvaucher Apr 20, 2016
5a6444f
Bump version
yvaucher Apr 20, 2016
8ed3867
Target only the right tab where the map is to add listener.
yvaucher Feb 17, 2016
4878c3f
Ensure we call add_tab_listener only once
fredj Feb 17, 2016
67ccfca
Address the right container when drawing the widget map
yvaucher Apr 21, 2016
b634cfb
Fix widget initialized too early in second tab thus having bad size
yvaucher Apr 21, 2016
e27bee2
Fix offset issues on the map by reseting offset when scroll bar is used
yvaucher Apr 22, 2016
66fd657
Don't zoom when setting or changing a geometry
yvaucher Apr 22, 2016
8e75c1a
Add an option to set a default zoom to avoid showing a map that you a…
yvaucher Apr 22, 2016
9ad2036
No key argument in js, set an optional argument instead with default …
yvaucher Apr 27, 2016
4957492
Add an action on map info box to open the selected object in form view
yvaucher May 31, 2016
ba5c55c
Update Roadmap
yvaucher May 31, 2016
973e956
Bump version
yvaucher Jun 1, 2016
1149e8b
Fix z-index of Openlayers map container to ensure it doesn't hide sea…
yvaucher Jul 13, 2016
c78cee3
Fix unitialized map on 2nd tab of popup forms
yvaucher Jul 14, 2016
45d16a0
Bump version
yvaucher Jul 29, 2016
6b395f2
Fix geoengine tests with addition of default_zoom
yvaucher Sep 1, 2016
6b76718
[FIX] from_latlon method srdi was incorrect
alan196 Sep 10, 2016
4dfd839
[MIG] Make modules uninstallable
pedrobaeza Oct 6, 2016
71aa632
[MIG] Rename manifest files
pedrobaeza Oct 6, 2016
2a092ca
[IMP] OL3
lmignon Jun 23, 2015
f65800e
Remove disabling stopdown as it is included in OL3
yvaucher Oct 3, 2016
5f8ef23
Add click on feature event
lmignon Oct 3, 2016
d856c86
Fix Mapinfo box + set cursor pointer
yvaucher Oct 3, 2016
36f7e40
[FIX] map styling and fullscreen mode
lmignon Jun 25, 2015
f799edc
chromojs
lmignon Jun 28, 2015
128b422
FIX legend
lmignon Jul 2, 2015
ef3da2b
bump OL version to 3.18.2
damdam-s Oct 3, 2016
a1d8d94
fitExtent is deprecated by fit
yvaucher Oct 4, 2016
e788a28
Remove MapQuest
Oct 4, 2016
3d58359
Fix Represenation Mode colored label
Oct 4, 2016
99e865b
Fix map size error when open record in a fullscreen map.
Oct 4, 2016
7b4ea30
Add selection controlers
yvaucher Sep 1, 2016
54e95c6
Change display of map box info if multiple features are selected
yvaucher Sep 1, 2016
14a05d2
Fix css missing bracket
yvaucher Oct 4, 2016
095dfbd
Add button to filter by selected geo features
yvaucher Sep 2, 2016
aa1cc0a
Implement button to switch in box selection
yvaucher Sep 5, 2016
f3131ac
Improve button to filter features
yvaucher Sep 5, 2016
0319951
Fix feature counter on view map
yvaucher Oct 4, 2016
019d906
Port creation of filter on selection
yvaucher Oct 4, 2016
2eeb8da
Improve filter selection button to fix with open single element button
yvaucher Oct 4, 2016
01f5362
Fix extent error when no feature are present
yvaucher Oct 4, 2016
2584856
Set fa icon for geo selection filter
yvaucher Oct 4, 2016
1d281f6
Add a selection dragbox when holding SHIFT
yvaucher Oct 4, 2016
c242599
[IMP] multi layer selection of records on Geoengine map
yvaucher Oct 4, 2016
ba00270
geoengine widget first part:
damdam-s Oct 5, 2016
eb25713
Remove ol alias
yvaucher Oct 6, 2016
6e22b0b
Define edit layer of geoengine widget
yvaucher Oct 7, 2016
f4e383c
Add modify interaction on geoengine widget (modify interaction needs …
yvaucher Oct 8, 2016
3d07426
Add comment on restrictedExtent
yvaucher Oct 8, 2016
5c86ca2
Remove former fix for scrolling as it is not needed with OL3
yvaucher Oct 8, 2016
c61b14e
remove comment
yvaucher Oct 8, 2016
0c9fce1
Remove google raster layer deprecated option
yvaucher Oct 8, 2016
678b1d4
Remove former ol2 and unused libraries
yvaucher Oct 8, 2016
defbb08
Fix onchange for modify control
yvaucher Oct 9, 2016
887224e
Fix geostat color legend position
yvaucher Oct 9, 2016
d3d3edd
Reimplement button to clear geometry from edition widget
yvaucher Oct 9, 2016
5a1c2da
Update license headers
yvaucher Oct 14, 2016
6eeabb7
[PORT] base_geoengine to 10.0 - remove old API
yvaucher Oct 22, 2016
3d384a9
jslint
yvaucher Oct 24, 2016
0c85510
[FIX] #132: geo columns were created by odoo base models
Apr 5, 2017
1330401
[FIX] Column should be created if GeoField is computed and stored
benwillig Aug 10, 2017
38a30ea
[FIX] Cache value for a geo field should be the the hex code. convert…
benwillig Aug 10, 2017
0f9c79c
[ADD] New method to convert 2 points to a LineString
benwillig Aug 10, 2017
1f7e8ac
[FIX] Fixed tests. Added new tests for new methods
benwillig Aug 10, 2017
6a7015d
[FIX] Pylint
benwillig Aug 10, 2017
a0ec863
[FIX] Handle convert_to_record case when there is no value or if it's…
benwillig Aug 10, 2017
5a44d2c
[FIX] Do not hardcode string during line creation from points
benwillig Aug 10, 2017
1c80073
[IMP] Allow to define layers which will be active on startup
benwillig Aug 10, 2017
0cd73f2
[ADD] Allow to display a configurable popup on map layers.
benwillig Aug 21, 2017
d0d4deb
[IMP] Allow to change the size of the drawn circle
benwillig Sep 6, 2017
a7c80b3
[IMP] Allow to pass a specific srid to GeoLine.from_points method
benwillig Sep 18, 2017
5eca4b1
[Add] Allow to display labels on polygons for layers
dek-odoo Apr 1, 2018
97e3ab0
[FIX] Replace openerp imports
ecino Apr 20, 2018
7e89615
Fix Lint & Travis CI issues
dek-odoo Jun 16, 2018
f9b06d7
[10, Add] Allow to set opacity on layers (#165)
dek-odoo Jul 3, 2018
04e30de
[FIX] typo in base_geoengine javascript. (#166)
ecino Jul 4, 2018
62b074d
Play python 2to3
Tonow-c2c Oct 1, 2018
68ac8b9
Remove coding: utf-8
Tonow-c2c Oct 1, 2018
d54944a
Readme split in readme folder
Tonow-c2c Oct 1, 2018
eead884
Fix signature change on _setup_fields
yvaucher Oct 1, 2018
8d39fde
_select_column_data is replaced by tools.table_columns
yvaucher Oct 1, 2018
c12d3f5
Change signature of convert_to_column to to introduction of multi val…
yvaucher Oct 1, 2018
9b1bfd3
Use new MVC approach
yvaucher Oct 1, 2018
05be6d9
Fix geoengine view for Odoo 11
asaunier Oct 24, 2018
75ecf41
Fix geoengine widget for Odoo 11
asaunier Oct 31, 2018
def3f42
Reorganise geoengine files
asaunier Nov 1, 2018
abb01bb
Add base_geoengine README back
asaunier Nov 1, 2018
2ea6822
Add support of onchange requests to convert_to_record
asaunier Nov 6, 2018
6055bc8
Update WMTS backgrounds creation
asaunier Nov 7, 2018
7f1be65
Fix JS lint errors
asaunier Nov 7, 2018
74b3598
Fix travis tests
asaunier Nov 8, 2018
4629e75
Fix layer switcher
asaunier Nov 8, 2018
2db3023
Improve handling of maps in tabs
asaunier Nov 9, 2018
5d9b0ee
Improve WMTS background layers creation
asaunier Nov 9, 2018
52cf112
Upgrade to OL 3.20.1
asaunier Nov 9, 2018
2b11b14
Move base_geoengine tests to a dedicated module
asaunier Jan 10, 2019
af92e6d
[IMP] Add custom type support for colored render
Dec 14, 2018
876c022
Move base_geoengine readme in the right folder
yvaucher Feb 25, 2019
b1f28a2
[UPD] README.rst
OCA-git-bot Feb 25, 2019
50f2859
Add USAGE in base_geoengine
yvaucher Feb 25, 2019
a618c0b
[UPD] README.rst
OCA-git-bot Feb 25, 2019
c10e279
Mig base_geoengine to version 12.0
yvaucher Feb 23, 2019
77ca5cb
Add geo fields to odoo.fields
yvaucher Feb 23, 2019
f0c4a1c
Use intheritance of 'base' for GeoModel
yvaucher Feb 23, 2019
7364ee5
Avoid creation of columns on abstract models
yvaucher Feb 23, 2019
00510b4
pyeval was renamed pyUtils
yvaucher Feb 23, 2019
4d1408f
Make MissingError translatable for auto install of postgis extension,…
yvaucher Feb 25, 2019
ae717c9
Simplify super calls with python 3 syntax
yvaucher Feb 25, 2019
8c7eb1c
Use EPSG:3857 instead of EPSG:900913
fredj Feb 25, 2019
7765781
Remove server_resolutions field in WMTS options
fredj Feb 28, 2019
dab97c8
Update OL version to OL 4.6.5
yvaucher Mar 22, 2019
746e381
JS lint
yvaucher Mar 21, 2019
8eee2a1
Fix dimension field label
yvaucher Mar 22, 2019
ccdaff2
Give description to geoengine view models
yvaucher Mar 22, 2019
2fa97a8
Fix duplicate title in README.rst
yvaucher Mar 22, 2019
80744e8
Remove double title in README.rst - in source too this time
yvaucher Mar 29, 2019
e5aea39
[12.0][ADD] Support of Swisstopo layers
asaunier Mar 18, 2019
e2de2ad
Fix selection of ttype field on ir.model.fields
yvaucher May 1, 2019
c2edab8
Bump version
yvaucher May 22, 2019
51d4dc3
[13.0][MIG] base_geoengine
Oct 1, 2019
06cf53c
Fix state of field for geo field to 'base'
yvaucher Sep 29, 2019
2eae2f7
Remove view_type from views
Jan 23, 2020
cc58a46
run pre-commit
Jan 14, 2020
c08914c
Fix Selection field display value in map info_box
yvaucher Oct 18, 2019
2fa39ee
[fix] displaying relation fields in map info box - fixes #224
alpham-andela Jan 10, 2020
5e1ad7f
FIX: Refresh geoengine widget after changing record through pager action
grindtildeath Dec 11, 2019
f93316e
FIX: Call render instead of renderMap to ensure geometries layers are…
grindtildeath Jan 13, 2020
4e3d3bb
remove executable permission from geoenigine_record.js
Jan 14, 2020
a71e6f2
pre-commit with correct config
Jan 14, 2020
74894de
Fix geometry field creation missing configurations
yvaucher Oct 1, 2019
c2c7f43
pre-commit
Jan 15, 2020
c631ad1
[12.0][IMP] Use default zoom when creating a map with no geometry
asaunier Oct 31, 2019
f7a0c84
base_geoengine 13.0.1.0.1
OCA-git-bot Feb 25, 2020
ccdc99f
[IMP] base_geoengine: remove unnecessary hack
Creamaster May 14, 2020
31374f5
[UPD] Update base_geoengine.pot
oca-travis Jun 8, 2020
4f33f92
Fix default_extent in views
TDu Jun 10, 2020
3755453
base_geoengine 13.0.1.0.2
OCA-git-bot Jun 10, 2020
6faf83c
[LINT] pre-commit
brian10048 Apr 14, 2021
ae57170
Update CONTRIBUTORS
yvaucher Oct 18, 2019
03c7127
[UPD] Move from travis to github actions
NL66278 Jan 10, 2023
23d4967
[IMP] base_geoengine: black, isort, prettier
yvaucher Jan 31, 2023
ccb0902
[MIG] base_geoengine: Migration to 14.0
yvaucher Jan 31, 2023
deba7d8
[FIX] base_geoengine: use shape() instead of asShape()
NL66278 Jan 10, 2023
307fcf8
Yannick Vaucher renaming to Yannick Payot
yvaucher Feb 1, 2023
76fa076
[14.0][FIX]base_geoengine: non-admin users can see maps
aleuffre Jan 10, 2023
14b69d4
[UPD] Update base_geoengine.pot
Feb 1, 2023
c8dfe24
[UPD] README.rst
OCA-git-bot Feb 1, 2023
3c69ffa
[IMP] base_geoengine: black, isort, prettier
kouffsamuel Feb 13, 2023
bea612e
[MIG] base_geoengine : migration from odoo 14 to odoo 16
kouffsamuel Feb 14, 2023
5945515
[ADD] base_geoengine: display field geo_edit_map with multipolygon an…
kouffsamuel Feb 15, 2023
3e4e603
[FIX] base_geoengine: fix zip creation and refractor geo_edit_map
kouffsamuel Feb 15, 2023
58ef0d9
[FIX] base_geoengine: fix retails machine and start geoengine view fix
kouffsamuel Feb 16, 2023
512a35e
[FIX] base_geoengine: fix geoengine view renderer
kouffsamuel Feb 18, 2023
f23eee3
[ADD] base_geoengine: add left-side menu for layers
kouffsamuel Feb 19, 2023
6658908
[FIX] base_geoengine: display raster layers for zip and retail machin…
kouffsamuel Feb 21, 2023
4661395
[FIX] base_geoengine: display vector layers for zip and retail machines
kouffsamuel Feb 23, 2023
56036e7
[FIX] remove ref to submodule
kouffsamuel Feb 24, 2023
674aeb7
[FIX] base_geoengine: display info box
kouffsamuel Feb 28, 2023
a8bff3c
[FIX] base_geoengine: button to edit record on info box + fix display…
kouffsamuel Feb 28, 2023
0150761
[FIX] base_geogines: fix bugs and use opacity of the layer management
kouffsamuel Mar 1, 2023
d7e5157
[FIX] base_geoengine: code cleaning
kouffsamuel Mar 2, 2023
bf8835b
[FIX] base_geoengine: fix pre-commit
kouffsamuel Mar 2, 2023
778f582
[IMP][FIX] base_geoengine: start model tests and fix retail machines …
kouffsamuel Mar 6, 2023
f183200
[IMP] base_geoengine: end model tests
kouffsamuel Mar 6, 2023
4a2fac5
changing the default SRID (correction of the previous one)
lmarion-source May 27, 2020
0d1733b
[IMP] base_geoengine: add tests from_lat_lonand to_lat_lon
kouffsamuel Mar 6, 2023
cb489bb
[IMP] base_geoengine: refactor geo_search
kouffsamuel Mar 7, 2023
d9e9399
[FIX] base_geoengine: current_field __leaf_to_sql
kouffsamuel Mar 7, 2023
ac35d54
[FIX] base_geoengine: Display Labels on Polygon
kouffsamuel Mar 8, 2023
7bce929
[FIX] base_geoengine: fix srid
kouffsamuel Mar 8, 2023
f2ac01a
[FIX] base_geoengine: fix column definition at install
kouffsamuel Mar 9, 2023
f828dbf
[IMP] base_geoengine: geo_search is deprecated, normal search method …
kouffsamuel Mar 9, 2023
27ba270
[FIX] base_geoengine: fix __leaf_to_sql by adding our own where_calc …
kouffsamuel Mar 10, 2023
09f5d74
[FIX] base_geoengine: fix fields SRID
kouffsamuel Mar 13, 2023
5ea9f5f
[IMP] base_geoengine : Access rules
kouffsamuel Mar 14, 2023
5860836
[IMP] base_geoengine: Allows to define a model on the vector layer to…
kouffsamuel Mar 15, 2023
42726e7
[FIX] base_geoengine: fix priority and add domain on geo_field_id
kouffsamuel Mar 15, 2023
4aa40e1
[IMP] base_geoengine: this code seems not to be used
kouffsamuel Mar 15, 2023
735799a
[ADD] base_geoengine : add copyright
kouffsamuel Mar 16, 2023
e42b7d0
[FIX] base_geoengine: Use different types of source for rasters layers
kouffsamuel Mar 16, 2023
5e87d54
[ADD] base_geoengine: add the possibility to specify a color and an o…
kouffsamuel Mar 16, 2023
acdd37e
[IMP] base_geoengine: readme, refactor and documentation
kouffsamuel Mar 20, 2023
b7382bf
[FIX] base_geoengine: fix readme
kouffsamuel Mar 20, 2023
5c40797
[IMP] base_geoengine: moving unnecessary files from the models folder
kouffsamuel Mar 20, 2023
8e9180d
[ADD] base_geoengine: order the vector layer in relation to the sequence
kouffsamuel Mar 20, 2023
15dc53d
[FIX] base_geoengine: fix tests
kouffsamuel Mar 20, 2023
3439e7d
[IMP] base_geoengine: setting up and extending the domain widget on t…
kouffsamuel Mar 28, 2023
02af477
[ADD] base_geoengine: add editing functionnality of domain of a vecto…
kouffsamuel Mar 30, 2023
3ddeaa1
[ADD] base_geoengine: Added layer editing functionality and add a sor…
kouffsamuel Apr 4, 2023
1a2080e
[ADD] base_geoengine: add access rights in the layer panel
kouffsamuel Apr 5, 2023
0019f11
[IMP] base_geoengine: readme, documentation
kouffsamuel Apr 6, 2023
6475621
[ADD] base_geoengine: adding a button to fold or unfold layers panel
kouffsamuel Apr 11, 2023
bf51252
[ADD] base_geoengine: adding records panel
kouffsamuel Apr 11, 2023
97be95a
[IMP] base_geoengine: add some interactions to records panel
kouffsamuel Apr 11, 2023
2342f9b
[ADD] base_geoengine: module translation
kouffsamuel Apr 11, 2023
cbab0f3
[FIX] base_geoengine: fix import
kouffsamuel Apr 11, 2023
4bb89a4
[IMP] base_geoengine: documentation, readme
kouffsamuel Apr 12, 2023
2110c75
[IMP] base_geoengine: edit shape instead of redraw (geo_edit_map)
kouffsamuel Apr 25, 2023
ba390e4
[ADD] base_geoengine : modification of records from geoengine view
kouffsamuel Apr 28, 2023
495c10b
[ADD] base_geoengine: add zoom in localstorage
kouffsamuel Apr 28, 2023
62ef119
[ADD] base_geoengine: create records on geoengine view
kouffsamuel May 2, 2023
a010295
[FIX] base_geoengine: fix load related model
kouffsamuel May 8, 2023
68dc078
[FIX] base_geoengine: fix domain widget
kouffsamuel May 8, 2023
4c959ab
[ADD] base_geoengine: add geo_lesser operator
kouffsamuel May 8, 2023
7582a08
[FIX] base_geoengine: add some validation constraints
kouffsamuel May 12, 2023
47d7440
[FIX] base_geoengine: fix in domain widget
kouffsamuel May 12, 2023
51bf41b
[FIX] base_geoengine: fixing the Geoengine Data tab display
kouffsamuel May 12, 2023
8b1cf0f
[IMP] base_geoengine: changing the colour of a control when clicked
kouffsamuel May 15, 2023
f65775a
[FIX] base_geoengine : fix domain widget with active_ids and add legend
kouffsamuel May 18, 2023
efaf601
[IMP] base_geoengine: update import
kouffsamuel May 23, 2023
b2aef44
[IMP] base_geoengine: remove super.setup() from
kouffsamuel May 23, 2023
91f8730
[IMP] base_geoengine: replace loadJs and loadCss by loadBundle
kouffsamuel May 23, 2023
6eab404
[IMP] base_geoengine: use force when is necessary to add in
kouffsamuel May 23, 2023
2f4a92f
[IMP] base_geoengine: Encapsulate calls in Promise.all
kouffsamuel May 23, 2023
c68036b
[FIX] base_geoengine: Fix documentation format
lmignon Jun 5, 2023
c6d7f67
[UPD] Update base_geoengine.pot
Jun 6, 2023
6318b2c
[UPD] README.rst
OCA-git-bot Jun 6, 2023
7950dda
Update translation files
weblate Jun 6, 2023
1f10f80
Added translation using Weblate (Spanish)
Ivorra78 Aug 8, 2023
1715153
Translated using Weblate (Spanish)
Ivorra78 Aug 8, 2023
7f835e4
[UPD] README.rst
OCA-git-bot Sep 3, 2023
3286113
Update translation files
weblate Oct 9, 2023
30ace8a
Added translation using Weblate (Swedish)
jakobkrabbe Nov 2, 2023
0a3bf2c
Translated using Weblate (Swedish)
jakobkrabbe Nov 2, 2023
24dd766
Added translation using Weblate (Italian)
mymage Jan 25, 2024
c2d1bad
Translated using Weblate (Italian)
mymage Jan 26, 2024
2a7cdd3
[IMP] base_geoengine: pre-commit auto fixes
peluko00 Apr 25, 2024
5142637
[MIG] base_geoengine: Migration to 17.0
peluko00 Apr 26, 2024
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:12.0
image: postgis/postgis:13-3.4
env:
POSTGRES_USER: odoo
POSTGRES_PASSWORD: odoo
Expand Down
1 change: 1 addition & 0 deletions .ruff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ fix = true
extend-select = [
"B",
"C90",
"E501", # line too long (default 88)
"I", # isort
"UP", # pyupgrade
]
Expand Down
365 changes: 365 additions & 0 deletions base_geoengine/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,365 @@
===========================
Geospatial support for Odoo
===========================

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

.. |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/licence-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/17.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-17-0/geospatial-17-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=17.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
`PostgGIS <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-block:: 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>`__

When you will install the module this two additional libs will be
installed.

For a complete documentation please refer to the `public
documenation <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
=========

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:%2017.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/17.0/base_geoengine>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
6 changes: 6 additions & 0 deletions base_geoengine/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from . import models
from . import expressions
from . import fields
from . import geo_convertion_helper
from . import geo_operators
from .geo_db import init_postgis
Loading
Loading