Commit graph

434 commits

Author SHA1 Message Date
Yohan Boniface
dce0ee5f73 wip: use auth.models.Group and manage permissions 2024-08-29 20:11:19 +02:00
Dimitar
f4c3a10251
Also update regex 2024-08-19 12:20:58 +03:00
Dimitar
92e3de87db
Use preferred tile.openstreetmap.org URL
For reference: https://github.com/openstreetmap/operations/issues/737
2024-08-15 19:58:15 +03:00
Yohan Boniface
ab8bce985e
Merge pull request #2053 from umap-project/bubble-layer
Add "Proportional Circles" layer type
2024-08-15 11:04:47 +02:00
Yohan Boniface
f05590e605
Merge pull request #2025 from umap-project/login-from-map
fix: catch login_required from map page and add a way to login
2024-08-15 10:57:10 +02:00
Yohan Boniface
0847dc1ba6 fix: import GPX desc as description 2024-08-14 11:01:31 +02:00
Yohan Boniface
cbb022f804 wip: use sqrt for computing circles radius to smooth the sizes
The theory is that the circles surface should be proportional, not
the radius.
2024-08-13 11:11:24 +02:00
Yohan Boniface
6b60b0de64 wip: add "Proportional Circles" layer 2024-08-13 11:11:24 +02:00
Yohan Boniface
a04accf16c
Merge pull request #1994 from umap-project/more-tilelayers-button
feat: add a "+" button in the tilelayer switcher
2024-08-13 11:05:02 +02:00
Yohan Boniface
00c384bf25 feat: allow to display a polygon "negative"
fix #1125
2024-08-13 10:20:44 +02:00
Yohan Boniface
facccc1c70 feat: add a "+" button in the tilelayer switcher 2024-08-06 13:38:39 +02:00
David Larlet
ff8903e751
fix: remove Ctrl from tests for cross OS compatibility 2024-08-02 11:04:24 -04:00
Yohan Boniface
6de5dabcc6 fix: fix georss import 2024-07-31 22:31:43 +02:00
Yohan Boniface
5145404dc4 fix: show delete button for owner and anonymous owner 2024-07-31 22:29:29 +02:00
Yohan Boniface
3bdd5bedf1 fix: catch login_required from map page and add a way to login 2024-07-30 14:41:10 +02:00
Yohan Boniface
671d88296f wip: remove print 2024-07-29 16:24:59 +02:00
Yohan Boniface
65c5cb5ab5 wip: refactor isolateShape 2024-07-29 16:24:59 +02:00
Yohan Boniface
a022619625 wip: refactor DataLayer.geojsonToFeatures and fix sync tests 2024-07-29 16:24:59 +02:00
Yohan Boniface
081323dc8a wip: (almost) fix tests 2024-07-29 16:24:59 +02:00
Yohan Boniface
6b67ce26a1 feat: expose marker altitude in variables (as "alt") 2024-07-23 21:33:55 +02:00
Yohan Boniface
d54843bbe2 feat: add {layer} as popup variable (aka extended properties)
fix #2007
2024-07-22 10:41:46 +02:00
David Larlet
75e4679cc9
chore: fix tests 2024-07-12 12:12:29 -04:00
Yohan Boniface
5909630e0e wip: fix bugs and add tests for table editor 2024-07-11 20:39:05 +02:00
Yohan Boniface
ec7b546bf5 chore: try to fix toZoom and fromZoom randomly failing tests 2024-07-11 16:07:27 +02:00
Yohan Boniface
a035b6cb38 chore: use our own page fixture so to print console messages 2024-07-11 10:53:33 +02:00
Yohan Boniface
3fa478abac
Merge pull request #1981 from umap-project/autocomplete-datalist
feat: add AutocompleteDatalist and use it for conditional rules
2024-07-10 11:36:59 +02:00
Yohan Boniface
7baa70d1b6 feat: add AutocompleteDatalist and use it for conditional rules 2024-07-10 10:10:53 +02:00
Yohan Boniface
d830978f6f fix: import unified relations and tags from OSM data (use latest osmtogeojson)
fix #1011
2024-07-10 09:23:52 +02:00
Yohan Boniface
257d205690
Merge pull request #1953 from umap-project/categorized-layer
feat: add new type of layer Categorized
2024-07-05 18:18:36 +02:00
Yohan Boniface
ca0f771947 wip: move formatters to a module
This mainly allows to dynamically load the third party libraries.

In the same process, those libs have changed:

- tokml => switch to placemarkio fork, more up to date and available
  as ESM
- togpx => switch to geojson-to-gpx, more up to date and available as
  ESM (note: this lib does not export polygons, because they do not
  make sense in GPX world, while the previous was converting them as
  lines before)
2024-07-05 17:51:53 +02:00
Yohan Boniface
1839c48234
Merge pull request #1956 from umap-project/custom-prompt
chore: add custom prompt
2024-07-02 22:49:05 +02:00
Yohan Boniface
6872a584be wip: fix tests 2024-07-02 21:09:23 +02:00
Yohan Boniface
f8577c3639 chore: always use real tiles in playwright when in debug mode 2024-07-02 19:11:39 +02:00
Yohan Boniface
91badcdb5e wip: rework dialog class 2024-07-02 18:11:22 +02:00
Yohan Boniface
ce3439f6b5 feat: add new type of layer Categorized
This is like Choropleth, but with categories instead of graduated.

fix #1433
2024-07-01 12:48:46 +02:00
Yohan Boniface
3db414cb97 fix tests broken in c09adffb64 2024-06-26 23:16:02 +02:00
David Larlet
b426d212f0
feat: handle multiple dataUrl parameters on map load 2024-06-25 16:41:39 -04:00
Yohan Boniface
8d9bd4aec1 fix: fix path disappearing when changing its datalayer
fix #1931
2024-06-24 08:08:23 +02:00
Yohan Boniface
82c9ec7d39 feat: give precedence to feature in query string over onLoadPanel
cf #1893
2024-06-21 21:57:34 +02:00
Yohan Boniface
2b2a63fe29 chore: fix failing test 2024-06-21 18:29:40 +02:00
Yohan Boniface
4fc66da80c fix: use layer labelKey if any when filtering features
fix #1908
2024-06-21 13:35:06 +02:00
Yohan Boniface
b977d26eae feat: set layer name when importing from dataset 2024-06-17 11:54:06 +02:00
Yohan Boniface
99595e3e2f chore: fix translated test 2024-06-14 20:51:29 +02:00
Yohan Boniface
34f00dfec1 tests: try to fix randomly failing test test_should_honour_fromZoom 2024-06-14 18:51:58 +02:00
Yohan Boniface
710b0cf1d9
Merge pull request #1857 from umap-project/geodatamine-plugin
Importers for custom external sources
2024-06-14 18:47:45 +02:00
Yohan Boniface
88b7e401c0
Merge pull request #1776 from umap-project/conditional-rules
feat: very minimal experimental conditional style rules
2024-06-14 18:40:37 +02:00
Yohan Boniface
e16d3a629c wip: fix tests 2024-06-14 18:40:05 +02:00
Yohan Boniface
4ed7c45086 wip: use same label in buttons and title for "Import data"
The control says "Import data", let's keep this for now.
2024-06-14 18:40:05 +02:00
Yohan Boniface
d928195a5b wip: rename and document UMAP_IMPORTERS 2024-06-14 18:40:05 +02:00
Yohan Boniface
115130083d wip: make sure we do not add an invalid overpass URL 2024-06-14 18:40:05 +02:00
Yohan Boniface
c3ae3b5770 wip: minimal overpass importer
cf #112
2024-06-14 18:38:44 +02:00
Yohan Boniface
43f7e6a467 feat: allow to set the new layer name at import 2024-06-14 18:38:44 +02:00
Yohan Boniface
35189cc9fb wip(importer): use only one submit button and be smarter to guess action 2024-06-14 18:38:30 +02:00
Yohan Boniface
4e3228d114 feat: allow to create remote data layer from import panel
And make the form conditional.
2024-06-14 18:38:30 +02:00
Yohan Boniface
191fb6d853 chore: reviewing labels with Aurélie 2024-06-14 18:24:56 +02:00
Yohan Boniface
59dbde4f32 chore: make browser labels consistent 2024-06-14 18:24:54 +02:00
David Larlet
fb1407cdbf
chore: overall alerts improvements 2024-06-14 11:08:59 -04:00
Yohan Boniface
9dc11ec9f9 wip: fix tests after rebase on master 2024-06-14 16:55:36 +02:00
Yohan Boniface
7367de5545 wip: deal with boolean values in conditional rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
5ec944fce0 wip: deal with gt/lt and numbers in conditional rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
129f46dd6d wip: add minimal tests for conditional rules 2024-06-14 16:55:36 +02:00
Yohan Boniface
e968261dff wip: fix more tests 2024-06-13 20:53:07 +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
David Larlet
b863beaec9
chore: fix tests 2024-06-13 14:13:42 -04:00
David Larlet
802d5d9d6c
chore: set default language for tests as en-GB 2024-06-13 13:41:00 -04:00
David Larlet
b197e067e8
fix: listen to the correct event for conflicts 2024-06-12 19:06:28 -04:00
David Larlet
c0ecc39439
chore: uniformize buttons across panels and alerts 2024-06-12 18:03:05 -04:00
fc2de3fc53 tests(sync): Change the way the websocket server is run in the tests
Using [pytest-xprocess](https://pytest-xprocess.readthedocs.io/) proved
not being as useful as I thought at first, because it was causing
intermitent failures when starting the process.

The code now directly uses `subprocess.popen` calls to start the server.
The tests are grouped together using the following decorator:

`@pytest.mark.xdist_group(name="websockets")`

Tests now need to be run with the `pytest --dist loadgroup` so that all
tests of the same group happen on the same process.

More details on this blogpost:

  https://blog.notmyidea.org/start-a-process-when-using-pytest-xdist.html
2024-06-07 18:21:30 +02:00
940ae77602 settings: Make the websocket settings clearer.
It is now using `WEBSOCKET_BACK_HOST`, `WEBSOCKET_BACK_PORT` and
`WEBSOCKET_FRONT_URI`.

We need to take in consideration that the "front" WebSocket address
(that clients will connect to) might be different than the "back" ip and
port which are bound in the host.

This happens for instance for reverse proxies, or when running inside
a container.

We considered using a `WEBSOCKET_TLS` setting, to try guessing the
"front" address based on `WEBSOCKET_HOST`, `WEBSOCKET_PORT` and
`WEBSOCKET_TLS`, but as the back and front address can differ, this
would need to introduce a `WEBSOCKET_URI` in any case, so we went with
just using it, and not adding an extra `WEBSOCKET_TLS`.
2024-06-07 18:21:30 +02:00
516c3d9a0d tests(sync): Add a test ensuring cloned features aren't duplicated
This is currently a bug in the current implementation. Hopefully fixed
in later commits.
2024-06-07 18:21:30 +02:00
b5eee142e7 test(sync): Ensure feature properties are synced 2024-06-07 18:21:30 +02:00
8fc116e7a8 chore(test): remove empty test 2024-06-07 18:21:30 +02:00
dfbdc1f975 chore(test): fix a typo
(but I would really like to see what web socker would look like)
2024-06-07 18:21:30 +02:00
10a68a75e4 test(sync): Ensure datalayer properties are synced 2024-06-07 18:21:30 +02:00
d10a7b70f1 test(sync): Ensure map properties are synced
This tests that the name of the map, and that zoom-control visibility is
properly synced over websockets.
2024-06-07 18:21:30 +02:00
6f7dd61023 test(sync): ensure polygon drag-n-drop is synced 2024-06-07 18:21:30 +02:00
ad4d6ac672 test(sync): Ensure polygons and their edits can be synced 2024-06-07 18:21:30 +02:00
5feabd4c14 test(sync): Marker drag-n-drop and delete are synced 2024-06-07 18:21:30 +02:00
80f7efc810 tests(sync): Test that marker sync works properly
This commit handles the start and stop of the websocket server during
the tests, using the xprocess library
2024-06-07 18:21:30 +02:00
d0e2d900f7 chore(tests): Rename "collaboration" tests to "optimistic merge"
As "collaboration" can be mistaken between "websocket" and
"server-merge". This naming makes it explicit.
2024-06-07 18:21:30 +02:00
9be613e3ce feat(sync): add tests for the websocket token view 2024-06-07 18:21:30 +02:00
9e36476abe chore(sync) make the test pass 2024-06-07 18:21:30 +02:00
Yohan Boniface
776d92e7cc chore: add minimal dialog class to replace custom made help box 2024-05-22 14:00:53 +02:00
Yohan Boniface
8ddc570e23 chore: move alert to dedicated module 2024-05-22 11:39:16 +02:00
Yohan Boniface
6294886faa
Merge pull request #1829 from umap-project/panel-mode
fix: make explicit default panel modes
2024-05-17 17:39:47 +02:00
Yohan Boniface
284ef1d7f3 feat: remove defaultPanelMode from now
After discussion, we prefer to go with decent defaults and see
how it goes.
2024-05-17 17:18:05 +02:00
Yohan Boniface
6327c988ab fix: do not close blindly editPanel when deleting a layer
fix #498
fix #1831
2024-05-17 17:01:47 +02:00
Yohan Boniface
c860866fe9 feat: add defaultPanelMode setting
cf https://forum.openstreetmap.fr/t/umap-2-3-changement-de-gestion-des-pop-up/23680/3

Trying to make this panel expanded/condenses thing simpler and more intuitive.

It's mode can be set:
- by explicitely setting defaultPanelMode = xxx
- or, if defaultPanelMode is undefined, with sensible default when there is
  an onLoadPanel defined, and to respect previous uMap behaviour
- or, if defaultPanelMode is unset, and some feature opens in the panel, it
  will be set to expanded (here again to respect previous behaviour
- then, when user change it manually (by clicking on the toggle button), then
  we should never change it automatically, and respect the previous mode when
  reopening the panel

(We are only talking about the left panel, here.)
2024-05-16 19:48:19 +02:00
Yohan Boniface
e6b4a54499 fix: show non visible layers in caption
fix #1820
2024-05-14 16:26:00 +02:00
Yohan Boniface
0ce1971b4e
Merge pull request #1794 from umap-project/integrate-facets
feat: integrate facets into browser filters
2024-05-09 17:57:15 +02:00
Yohan Boniface
58588761d5 fix: open edit panel when pressing ESC while drawing, if valid 2024-05-09 16:43:01 +02:00
Yohan Boniface
6c5bdf8670 wip: add integration test to make sure filters are kept when closing panel 2024-05-09 15:57:14 +02:00
Yohan Boniface
2f3e7d03ab chore: fix tests after fieldset refactor 2024-05-07 13:29:03 +02:00
Yohan Boniface
aa78b13f8e feat: integrate facets into browser filters 2024-05-03 12:53:06 +02:00
Yohan Boniface
e688ce8f57 chore: try to change Playwright expect timeout
Some tests randomly fail in the CI because of timeout a bit short.
2024-05-02 14:30:54 +02:00
Yohan Boniface
85e2a8ef5b
Merge pull request #1785 from umap-project/fix-modifier-macos
fix: deal with the modifier key under macOS
2024-05-01 17:51:58 +02:00
David Larlet
d00c394a99
fix: deal with the modifier key under macOS 2024-05-01 11:40:37 -04:00
Yohan Boniface
cd10a6259f
Merge pull request #1784 from umap-project/fix-alert-anonymous
fix: make sure to display anonymous edit link even if email is not configured
2024-05-01 17:07:57 +02:00
Yohan Boniface
713214e258
Merge pull request #1782 from umap-project/fix-caption
fix: ensure tilelayer attribution with smart text is displayed as HMTL
2024-05-01 17:05:24 +02:00
Yohan Boniface
0002b22f5c chore: skip failing test for now
This test was relying on changing DEFAULT_FROM_EMAIL in the test,
but given this setting is used at load from urls.py, it has no
effect.
2024-05-01 16:57:46 +02:00