Commit graph

27 commits

Author SHA1 Message Date
Yohan Boniface
0c52c35ae3 chore(tests): use name from data when defined in DataLayerFactory 2025-01-10 16:33:06 +01:00
Yohan Boniface
1aaea0beb9 feat: introduce Map.share_status=DRAFT and DELETED 2024-12-10 15:14:12 +01:00
Yohan Boniface
4070da392a chore: catch all "tile*" URL in playwright 2024-12-07 13:01:41 +01:00
Yohan Boniface
471de78ab3 chore: fix failing test 2024-12-02 12:46:09 +01:00
7dadb83ff5 feat(sync): Let the clients set layers UUID
This make it possible to synchronize datalayers before their creation on
the server, allowing at the same time to solve issues related to them
not being saved (e.g. duplication of geometries)

We use the DataLayer._referenceVersion to track if a DataLayer has been
saved on the server.

After a save, the _referenceVersion is synched with other peers.

To pass the reference version from the server to the frontend, we have two
options:
- use a header
- populate the `options.version` field

In the case of a GET on a Datalayer, we could not use the `options` scenario
because:
- the value in the file is not up to date (it was the value the client has
 before the save)
- the python cannot change it on the fly, as the file is served by nginx

So we decided to keep using a header. But on the map view, we load all
datalayers metadatas in the map options, so here we cannot use the header
scenario, so in this specific case we had to populate `options._referenceVersion`.

At the same time, we also changed:
- Umap.options.umap_id => Umap.id
- DataLayer.umap_id => Datalayer.id
- fixed the version number returned by DataLayer.version_metadata
2024-11-15 15:22:36 +01:00
David Larlet
2a2a4be357
lint: fix imports order 2024-08-30 12:34:04 -04:00
Yohan Boniface
13735a5739 chore: use our own Team model
We suppose we'll quickly want more than a name, like a description
or a logo_url, and maybe a access_status or permissions…
2024-08-30 15:53:18 +02:00
Yohan Boniface
dce0ee5f73 wip: use auth.models.Group and manage permissions 2024-08-29 20:11:19 +02:00
Yohan Boniface
897d4f22f4 chore(tests): make sure we send a valid geojson when data is empty 2024-06-13 20:52:28 +02:00
Yohan Boniface
e6b4a54499 fix: show non visible layers in caption
fix #1820
2024-05-14 16:26:00 +02:00
Yohan Boniface
d4e253190f feat: set preconnect link for tilelayer 2024-01-22 18:14:41 +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
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
aff0181636 [style] Format the code 2023-11-24 23:31:18 +01:00
Yohan Boniface
42ebe43698 Add minimal playwright test case for slideshow 2023-11-23 14:53:52 +01:00
David Larlet
2274243662
Fix integration tests for download view 2023-11-14 14:10:25 -05:00
Yohan Boniface
e5c616b49c Fix tests 2023-10-27 20:51:50 +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
de6c9f3b84 Make sure we don't use DataLayer.settings by reference 2023-10-06 22:25:56 +02:00
Yohan Boniface
e0e7fc5844 Better way to set DataLayer.geojson content during tests 2023-09-25 13:40:01 +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
5f5196a52d Make sure to select only editable layers for attachin to features 2023-09-22 17:32:19 +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
Yohan Boniface
1200b82838 First attempt to upgrade to Django 3.X
Bloqued by https://github.com/peopledoc/django-agnocomplete/issues/119
2021-05-17 10:51:24 +02:00
Yohan Boniface
8655061817 Rename in JS/CSS: storage_ => umap_ storage- => umap- 2018-06-02 15:47:57 +02:00
Yohan Boniface
53c738abaf Merge leaflet_storage tests 2018-05-19 11:54:08 +02:00