Commit graph

308 commits

Author SHA1 Message Date
Yohan Boniface
2a084466df fix: make sure to reset feature query string parameter
fix #1662
2024-03-01 15:45:07 +01:00
d0738e93e7 fix: allow empty datalayers reference on merges.
Previously, an error was thrown when the reference datalayer
had no `features`defined.

When looking for features, it now defaults to an empty list if the key
doesn't exist.
2024-02-29 22:41:20 +01:00
Yohan Boniface
ef7a6b9f8f
Merge pull request #1645 from umap-project/fix-zoomcontrol-duplicated
fix: zoomControl rendered twice
2024-02-27 14:54:48 +01:00
Yohan Boniface
9cad054746 fix: catch SMTPException when sending secret edit link 2024-02-26 19:41:07 +01:00
ffe7f18af1 chore: enhance naming in tests 2024-02-26 15:03:37 +01:00
51889f3238 chore: fetch datalayer index name before dropping it.
This can be helpful in situations where the name of the index is not known, as it can be with pre 1.0 deployed instance.

This commit also generates the UUIDs directly using an SQL statement.
2024-02-26 15:01:19 +01:00
ff4870730a chore: ensure old-format layers' versions are returned 2024-02-26 15:01:19 +01:00
1415f96c6f chore: fix tests 2024-02-26 15:01:19 +01:00
c5fd72fe2b chore: use Django JSON serializer when calling json.dumps 2024-02-26 15:01:19 +01:00
d5b1821117 chore: format templates 2024-02-26 09:11:57 +01:00
bcd650e844 chore: add ids on features 2024-02-22 16:32:18 +01:00
Yohan Boniface
371af7827f fix: zoomControl rendered twice
fix #1644
2024-02-21 23:24:37 +01:00
Yohan Boniface
eb755c02c6 chore: attempt to fix randomly failing test 2024-02-20 13:59:59 +01:00
Yohan Boniface
2b196ab614
Merge pull request #1614 from umap-project/fix-send-edit-link
fix: send edit link was using old post method
2024-02-16 16:55:36 +01:00
Yohan Boniface
217aec5556
Merge pull request #1615 from umap-project/default-from-email
chore: replace settings.FROM_EMAIL by settings.DEFAULT_FROM_EMAIL
2024-02-16 16:40:16 +01:00
Yohan Boniface
8eb2a518f1
Merge pull request #1613 from umap-project/fix-star-control
fix: star control was using old post method
2024-02-16 14:46:33 +01:00
Yohan Boniface
434a292878 fix: dashboard preview was still calling L.U. 2024-02-16 12:36:05 +01:00
Yohan Boniface
1db2455d51 chore: replace settings.FROM_EMAIL by settings.DEFAULT_FROM_EMAIL
DEFAULT_FROM_EMAIL is a Django standard setting
2024-02-16 11:49:38 +01:00
Yohan Boniface
4c224fccbc fix: send edit link was using old post method 2024-02-16 11:43:29 +01:00
Yohan Boniface
b3ce523ba2 fix: star control was using old post method
Also, only display it if the user is already logged in, given
we do not deal anymore with login during ajax calls.
2024-02-16 10:59:25 +01:00
Yohan Boniface
2dd7266d21 feat: show recent picto in a separate tab 2024-02-15 10:56:07 +01:00
Yohan Boniface
126e47eef9 feat: show last used pictograms in list
This feature was planned in the initial rework of the pictogram
form UI, but not yet done. Some recent discussion in the OSM French
forum reactivated the need for it.

cf https://forum.openstreetmap.fr/t/marker-and-marker-colors/21051
2024-02-15 10:54:59 +01:00
David Larlet
cf319ca53e
fix: only query OEmbed map on id and fallback to 404 2024-02-12 21:14:21 -05:00
David Larlet
9426570b6e
fix: encode the whole url parameter for OEmbed
See https://github.com/umap-project/umap/pull/1526#issuecomment-1937040472
2024-02-12 15:58:16 -05:00
Yohan Boniface
92cc014c2e fix: delete map from dashboard confirm was not active 2024-02-09 18:58:58 +01:00
Yohan Boniface
1f5bfcb567
Merge pull request #1586 from umap-project/fix-browser-inbbox
fix: browser inBbox setting not persistent and features click not opening popup
2024-02-09 17:09:11 +01:00
David Larlet
afdc732204
Merge pull request #1430 from umap-project/download-all-from-dashboard
Ability to clone, delete and download all maps from user’s dashboard
2024-02-08 09:51:01 -05:00
Yohan Boniface
355cdd9f07 fix: browser inBbox setting not persistent and features click not opening popup
Refactor the way it updates itself in the process.
2024-02-08 12:57:08 +01:00
David Larlet
1acadc746a
fix: use the regular delete view instead of ajax 2024-02-07 17:38:39 -05:00
Yohan Boniface
009f2c916f fix: use variable for color in browser if any 2024-02-07 19:38:46 +01:00
Yohan Boniface
10efc5d103
Merge pull request #1573 from umap-project/map-preview
feat: add experimental "map preview" in /map/ endpoint
2024-02-07 19:14:37 +01:00
David Larlet
bc8679a597
chore: put login fixture in a dedicated conftest 2024-02-07 12:42:37 -05:00
David Larlet
2af7705d4c
Use the request module for dashboard deletions 2024-02-07 12:32:01 -05:00
David Larlet
8a6e992b9c
Ability to clone a map and overall UI improvements 2024-02-07 12:32:00 -05:00
David Larlet
5d69d3c22f
Provide a link to delete maps from user’s dashboard 2024-02-07 12:32:00 -05:00
Yohan Boniface
f09e399b3c chore: refactor setting Map options from querystring 2024-02-07 17:53:45 +01:00
Yohan Boniface
77b35d079a
Merge pull request #1581 from umap-project/fix-legend-onload
fix: non loaded layers should still be visible in legend and data browser
2024-02-07 17:04:57 +01:00
Yohan Boniface
bd626690ef fix: non loaded layers should still be visible in legend and data browser
Also rework the browsable/browse methods to try to make them more
understandable…

fix #1554
2024-02-07 16:32:51 +01:00
Yohan Boniface
c334f7554e feat: add experimental "map preview"
This is the same as "map new", but it is not in edit mode. This
allow to click on the elements and see the popups instead of editing
it when using a `dataUrl` query string.
This way of using uMap is not documented, but it's used by some
partners (Deveco recently, data.gouv.fr historicaly).

In the same time, this PR adds two things:
- possibility to pass data direclty in querystring (instead of an URL):
  in the case of Deveco, they have pages where only point is shown (for
  each company)
- possibility to pass style options directly from query string: may
  allow for example to control the `popupTemplate`, eg. to use a table
  one that will display all properties of the clicked feature

Note: dataUrl and such also works in normal "map new" view. There are
two use cases around those parameters, from external sites:
- see this data on uMap (should point on map preview)
- create a map with those data (should point on map new)
2024-02-07 13:57:20 +01:00
Yohan Boniface
33b4dc093d tests: remove sleep from test_owned_map
fix #1441
2024-02-07 13:48:16 +01:00
Yohan Boniface
4a99f357f2 chore: lint 2024-02-05 07:23:16 +01:00
Yohan Boniface
6b5ecac9c6 chore: move Map.Init.js test to playwright suite 2024-02-05 07:23:16 +01:00
Yohan Boniface
0b65d0dd9d chore: move iframe options test to playwright 2024-02-05 07:23:16 +01:00
Yohan Boniface
2271669e80 chore: move browser tests to playwright 2024-02-05 07:23:16 +01:00
Yohan Boniface
d07d9f61d2 chore: refactore datalayers loading 2024-02-05 07:22:53 +01:00
Yohan Boniface
ab966722f9 wip: rework request error flow 2024-02-05 07:22:53 +01:00
Yohan Boniface
60832797d0 feat: adapt browser counter to the currently displayed features 2024-01-31 08:06:21 +01:00
Yohan Boniface
20998f05be
Merge pull request #1565 from umap-project/playwright-wait-for-ajax
tests: fix test_collaborative_editing_draw_markers
2024-01-29 18:26:51 +01:00
Yohan Boniface
074fc1bc18
Merge pull request #1552 from umap-project/preconnect-tilelayer
feat: set preconnect link for tilelayer
2024-01-29 18:26:24 +01:00
Yohan Boniface
dd57794ca6
Merge pull request #1562 from umap-project/svg-default-icon
feat: use svg for default icon (circle)
2024-01-29 18:05:45 +01:00
Yohan Boniface
902240fe34 tests: fix test_collaborative_editing_draw_markers
We needed to:
- make playwright to wait for ajax requests
- add a sleep to prevent saving two datalayer's version in the same
  second
2024-01-29 17:36:43 +01:00
Yohan Boniface
caeb9d5b44
Merge pull request #1531 from umap-project/home-highlighted
Introduce UMAP_HOME_FEED to control which maps are shown on the home page
2024-01-29 12:48:24 +01:00
Yohan Boniface
dee5af33a5
Merge pull request #1535 from umap-project/empty-fileinput
fix: empty file input when closing the importer panel
2024-01-29 12:47:15 +01:00
Yohan Boniface
c5270fb165
Merge pull request #1538 from umap-project/test-querystring
fix: honour datalayersControl=expanded in querystring
2024-01-29 12:46:55 +01:00
Yohan Boniface
95b457b38c
Merge pull request #1551 from umap-project/fix-browser-with-variable
fix: build browser once features are on the map, not before
2024-01-29 12:45:16 +01:00
Yohan Boniface
dadcaa0b76
Merge pull request #1526 from umap-project/oembed
Create an oEmbed endpoint for maps
2024-01-29 12:44:03 +01:00
Yohan Boniface
256d6c631c feat: use svg for default icon (circle)
fix #1560
2024-01-29 12:24:16 +01:00
Yohan Boniface
9ee9c5892e
Merge pull request #1559 from umap-project/fix-list.delete
fix: replace `list.delete` call by the proper `remove` method
2024-01-25 15:58:16 +01:00
Yohan Boniface
bc8084af97 fix: replace list.delete call by the proper remove method 2024-01-25 15:49:01 +01:00
Yohan Boniface
53ad987aea fix: prevent datalayer to resetting to an old version on save
This happens in collaborative mode only.

cf #1536
cf #1537

cf https://forum.openstreetmap.fr/t/probleme-de-sauvegarde-des-cartes/20596
cf https://forum.openstreetmap.fr/t/umap-soucis-de-debutants/20538
cf https://forum.openstreetmap.fr/t/probleme-de-maj-des-icones/20565
2024-01-25 15:42:00 +01:00
Yohan Boniface
d4e253190f feat: set preconnect link for tilelayer 2024-01-22 18:14:41 +01:00
Yohan Boniface
ae4c1a9454 fix: build browser once features are on the map, not before
Features title may contain variables, which include geographical
ones (center, lat, lon…), and in this case the feature must be
on the map to be able to compute them (eg. the polygon center).

fix #1519
2024-01-22 12:49:33 +01:00
Yohan Boniface
23af4c60cd chore: move UmapManifestStaticFilesStorage to a dedicated file 2024-01-19 17:16:35 +01:00
Yohan Boniface
96ae7ddbc7 chore: deactivate custom statics manager for test by default
And add one file that run it and check all js files are loaded.
2024-01-17 18:42:46 +01:00
David Larlet
656e29c72b
Use custom storage instead of django-compressor 2024-01-17 09:09:00 -05:00
Yohan Boniface
cf13d15753 fix: honour datalayersControl=expanded in querystring
fix #1525
2024-01-16 19:58:10 +01:00
Yohan Boniface
9f377da1b2 Introduce UMAP_HOME_FEED to control which maps are shown on the home page
For now we have only three modes:
- latest, which is the default and shows the last updated maps
- highlighted, which shows only the map that have been starred by a least
  one staff member
- None, which does not show any map
2024-01-16 12:31:50 +01:00
Yohan Boniface
4227e171f3 fix: empty file input when closing the importer panel
Otherwise, we cannot import anything else than a file, even when
closing and reopening the panel. User needs to refresh the page.
2024-01-16 12:28:59 +01:00
David Larlet
df76ffd80e
feat: Create an oEmbed endpoint for maps
Fix #162
2024-01-11 15:08:10 -05:00
d303330f2e chore: use system-specific modifier when running tests 2024-01-08 18:42:18 +01:00
Yohan Boniface
cea5e30582
Merge pull request #1499 from umap-project/dedicated-layer-settings
Move layer specific settings to a dedicated fieldset
2024-01-08 12:30:41 +01:00
Yohan Boniface
75ff147371 Move layer specific settings to a dedicated fieldset
cf #1490
2024-01-08 12:25:40 +01:00
Yohan Boniface
ecd4c73a7e Add basic facet search integration test 2024-01-04 13:33:38 +01:00
Yohan Boniface
05401af06b
Merge pull request #1454 from jschleic/download-ui
Refactor Share & Download UI for better usability
2024-01-02 21:42:34 +01:00
Joachim Schleicher
dbf0179297 cleanup sharebox changes
* "data" moved to helptext
* drop css introduced in previous draft
* prettier.js
2023-12-29 21:23:03 +01:00
Yohan Boniface
da2fb856c2 Better way of handling escape while drawing
With previous fix (in 60c002f94a), the
feature was created even if invalid.

cf #1428
2023-12-22 13:01:06 +01:00
Joachim Schleicher
d19cc60a7a refactor shareBox into separate class
download() and format() functions as well as dialog itself and
IFrameExporter helper moved into new file umap.share.js
2023-12-18 19:26:16 +01:00
Yohan Boniface
a0279165ce Add minimal integration tests for tilelayers 2023-12-16 19:26:10 +01:00
Yohan Boniface
b9f6645162 Use real tile URL in tests
It's easier to debug integration tests screenshots (otherwise
background is only grey).
2023-12-15 09:37:21 +01:00
Yohan Boniface
a32b680a74
Merge pull request #1465 from umap-project/defaultview-latest-path
Use bounds instead of center when zooming to Polyline/Polygon
2023-12-15 08:24:58 +01:00
Yohan Boniface
0852077634 Use bounds instead of center when zooming to Polyline/Polygon
Here is the initial issue:
- when using defaultView=latest (means latest element of the default layer)
- when map loads, we find the element, call getCenter to center the map on it
- but Polygon/Polyline needs the element to be already on the map to call
  this method (at least because the map CRS is needed)

So while trying to fix that issue, I also found that using a centroid for
a complex geometry was not very friendly: the map zoom on a part of this
geometry, while it seems to be that it's better to have a full view of it.
Now that we highlight the selected element, it's also easier to get which
element is focused when there are a lot close one to the others.
2023-12-14 15:45:43 +01:00
Joachim Schleicher
259a002705 fix picto tests 2023-12-09 20:32:07 +01:00
Joachim Schleicher
20bbbbad0c fixup tests 2023-12-08 21:47:11 +01:00
Yohan Boniface
50da2c0e1c Add integration test for textarea import 2023-12-05 14:28:11 +01:00
Yohan Boniface
9b28a48c9b
Merge pull request #772 from umap-project/optimistic-merge
Optimistic conflicts resolution mecanism
2023-11-29 17:56:17 +01:00
Yohan Boniface
7591031e63 Add integration tests covering basic polygon drawing 2023-11-29 17:34:12 +01:00
Yohan Boniface
64e90bb4c1 Add integrations tests covering basic line creation 2023-11-29 17:26:01 +01:00
f37ed700f6 [feat] add a simple conflict resolution mecanism.
The server tries to merge conflicting saves of
the same layer.

What it does:

- use the `If-Unmodified-Since` header to check
  if changes happened to the stored data ;
- Compare the incoming version with its reference version
  to get a diff.
- Reapply the diff on top of the latest version.
- If the merge is not possible, return a
  "422 Conflict" HTTP response.
- If the merge worked, return the merged document,
  to be updated by the client.
2023-11-29 13:04:24 +01:00
aff0181636 [style] Format the code 2023-11-24 23:31:18 +01:00
35dc1acb07 [fix] Use timezone aware datetimes 2023-11-24 23:31:18 +01:00
51c3ee3ce4 [ci] Add support for Github Actions
This runs the tests for different python versions,
with different working sets, and also run
a linter.
2023-11-24 23:31:18 +01:00
David Larlet
b4464a7ca2
Reuse the map_download view/url for the dashboard
Refs #1396
2023-11-24 15:28:58 -05:00
Yohan Boniface
42ebe43698 Add minimal playwright test case for slideshow 2023-11-23 14:53:52 +01:00
Yohan Boniface
0db7f377c3
Merge pull request #1395 from umap-project/picto-ui
Refactor icon selector: use tabs, make options more explicit
2023-11-18 12:13:14 +01:00
Yohan Boniface
c99892b51e Picto field: fix clicking on preview to open the form 2023-11-16 11:46:49 +01:00
Yohan Boniface
cdfcce297d picto field: better handling of default input values
We don't want to have an URL in the "char" field, and vice versa
2023-11-16 10:31:40 +01:00
David Larlet
13ca7e3e5d
Add tests for favicon-related views 2023-11-15 14:13:33 -05:00
David Larlet
2274243662
Fix integration tests for download view 2023-11-14 14:10:25 -05:00
David Larlet
30e83a143c
Tests download view for permissions 2023-11-14 13:37:02 -05:00
Yohan Boniface
4bfc3d6666 Picto field: make sure we open on the right tab 2023-11-14 18:45:40 +01:00
David Larlet
0be42d39cb
Full map download endpoint 2023-11-14 12:07:17 -05:00
3cc5d3b2af Speedup the tests by using a weaker hash algo.
On my machine, it reduced the time to run the
test suite from 86s to 53s.

(Most of the remaining time is consumed by the
integration tests spawning chrome in the background)
2023-11-14 17:45:14 +01:00
Yohan Boniface
7810cba660 Test: reset MEDIA_ROOT after each test
We need uploaded pictograms path to be deterministic.
2023-11-13 19:28:30 +01:00
Yohan Boniface
0562055b65 Picot fied: add test for changing picto from marker itself 2023-11-13 19:28:07 +01:00
Yohan Boniface
00a13acb83 Add test covering changing picto from the datalayer 2023-11-13 16:58:54 +01:00
Yohan Boniface
d63d81fec3 Refactor icon search 2023-11-09 08:31:24 +01:00
Yohan Boniface
e509687956 Add first test for pictogram selection 2023-11-09 00:02:44 +01:00
Yohan Boniface
e5c616b49c Fix tests 2023-10-27 20:51:50 +02:00
Yohan Boniface
a0da0b31a7
Merge pull request #1383 from umap-project/default-view-datalayer
Split defaultDatalayer in defaultView/EditDatalayer
2023-10-27 16:03:14 +02:00
Yohan Boniface
882cc74bcf Fix displayOnLoad not honoured at import
fix #1043
2023-10-27 12:25:40 +02:00
Yohan Boniface
29ab98ede3 Split defaultDatalayer in defaultView/EditDatalayer
In view mode, we don't want the fallback to create a new datalayer.
2023-10-27 11:54:35 +02:00
Yohan Boniface
78b6025ef1 Add minimal CSV export
cf https://forum.openstreetmap.fr/t/export-csv-depuis-une-umap/18290
cf #123
fix #608
2023-10-26 14:28:18 +02:00
Yohan Boniface
739626351c Choropleth: replace chromajs by colorbrewer + simple-statistics
simple-statistics has a few advantages:
- faster
- more accurate kmeans algo
- Jenks-Fisher algo

Also, I suspect will use it again for next step, which is Bubble
mode layer.
2023-10-11 19:36:12 +02:00
Yohan Boniface
7be238a4ab Add minimal Choropleth integration test 2023-10-10 21:22:17 +02:00
Yohan Boniface
3b304e5249 Tests: populate settings from _umap_options when data is passed 2023-10-10 21:19:20 +02:00
Yohan Boniface
547485e50f Allow to hide a datalayer from the caption list 2023-10-06 22:26:31 +02:00
Yohan Boniface
de6c9f3b84 Make sure we don't use DataLayer.settings by reference 2023-10-06 22:25:56 +02:00
Yohan Boniface
677fd3d982
Merge pull request #1336 from umap-project/shared-edit-url
Redirect to canonical when URL contains the ?edit parameter
2023-09-27 07:17:29 +02:00
Yohan Boniface
013d2fd5ee Always remove ?edit from URL, so users do not share it by mistake 2023-09-27 07:13:30 +02:00
Yohan Boniface
0ad6e425b5 Refactor data browser
- move a dedicated class (function was becoming big)
- user FormBuilder instead of custom form elements
2023-09-25 13:42:14 +02:00
Yohan Boniface
e0e7fc5844 Better way to set DataLayer.geojson content during tests 2023-09-25 13:40:01 +02:00
Yohan Boniface
dcbec3534c Fix datalayer's data duplicated at first save 2023-09-22 20:48:08 +02:00
Yohan Boniface
27f3e08bc1 Fix anonymous maps displayed by mistake in user dashboard 2023-09-22 19:00:42 +02:00
Yohan Boniface
c36ea1e4b8 Fix error when trying to change map owner
This bug has been introduced with this change:

8b4842ff21

That was not the correct fix, and this one should be the proper one.

We don't want to edit the permissions reference until we do save, otherwise user
cannot save as it is already no more the owner.

So:
- change permissions.options
- save
- commit those changes to map.options.permissions
- use only those values to check for isOwner and isAnonymousMap
2023-09-22 17:34:44 +02:00
Yohan Boniface
a9b9a7e955 Tests: reuse name var 2023-09-22 17:32:19 +02:00
Yohan Boniface
dfd04c33b0 Fix typo in tests 2023-09-22 17:32:19 +02:00
Yohan Boniface
e13f3ac235 Add DataLayer.isDataReadonly
In some places we need to know if a given datalayer can accept new
features, or not, whether because being readonly or being remote
2023-09-22 17:32:19 +02:00
Yohan Boniface
5ffd1a1b10 Expose DataLayer.edit_status separately to the front
They now differ from the Map.edit_status ones
2023-09-22 17:32:19 +02:00
Yohan Boniface
4e54a93ee0 Add DataLayer.INHERIT edit status option 2023-09-22 17:32:19 +02:00
Yohan Boniface
3cbd6cca40 Add back Map.edit_status
Revert "Fix existing permissions related tests"

This reverts commit 36d7d87301.

WIP
2023-09-22 17:32:19 +02:00
Yohan Boniface
5f5196a52d Make sure to select only editable layers for attachin to features 2023-09-22 17:32:19 +02:00
Yohan Boniface
6b269125d4 Make sure only owner see the delete map button 2023-09-22 17:32:19 +02:00
Yohan Boniface
24e4aed8d3 Rename allowEdit in editMode 2023-09-22 17:32:17 +02:00
Yohan Boniface
af44b3a0a6 Add playwright test for editor's permissions form 2023-09-22 17:30:07 +02:00
Yohan Boniface
a15aa3566a Add playwright tests for anonymous map 2023-09-22 17:30:07 +02:00
Yohan Boniface
d902546da4 Add map update playwright tests 2023-09-22 17:30:07 +02:00
Yohan Boniface
42eb0e6ded Add more tests for datalayer permissions 2023-09-22 17:30:06 +02:00
Yohan Boniface
d6d55e619a Fix existing permissions related tests 2023-09-22 17:26:57 +02:00
Yohan Boniface
73d19e849f Refactor share_status check in datalayers views 2023-09-22 17:24:01 +02:00
Yohan Boniface
b6b9943264 Prune old .gz when saving a datalayer
We'll not consume them.

fix #1317
2023-09-21 19:12:07 +02:00
Yohan Boniface
43e5391c49 Fix map displayed more than once in user dashboard when multiple editors
fix #1325
2023-09-20 11:30:05 +02:00
Yohan Boniface
3a5174c003 Fix tests with playwright
Basically:
- when using playwright, we use live_server
- live_server make django-pytest switch in "transactional db" mode
- when in this mode, it will reset all data of all tables in db
- we relied on data created during the migrations, so only available
  for first test run
2023-09-04 15:04:00 +02:00
Yohan Boniface
c35c6ee78c test: allow to run playwright tests directly with py.test cli 2023-09-04 15:00:51 +02:00
David Larlet
29547d0bd6 Add a test to verify marker creation at position 2023-09-04 11:03:31 +02:00
David Larlet
95bf685159 Setup to create integration tests with Playwright 2023-09-04 11:03:28 +02:00
Yohan Boniface
bcdac413be ajax proxy: quote URL before passing it to Nginx 2023-08-28 18:00:40 +02:00
Yohan Boniface
8c9ee91b42 Add test for ajax-proxy internal redirect 2023-08-28 16:49:32 +02:00
Yohan Boniface
8095c5721d
Merge pull request #1266 from umap-project/zoom-from-to-at-load
Store DataLayer's settings in DB
2023-08-21 17:18:48 +02:00
Yohan Boniface
2b471be171 Very lite "My Profile" page to allow changing username 2023-08-21 15:09:30 +02:00
Yohan Boniface
fa090b89df Store DataLayer's settings in DB
This allows to known the full datalayer behaviour without needing
to load all the data, including the zoom from and to (new settings),
but also the color for example.

This will help also understanding datalayers usage and making
stats.

But no data migration is provided, it's retrocompatible (data
migration in OSM FR servers would be huge, so let's see if it's
really needed).
2023-08-20 09:48:01 +02:00