Commit graph

541 commits

Author SHA1 Message Date
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
Yohan Boniface
fedb083612 chore: be more explicit on what HTML we allow when escaping 2024-05-01 16:26:38 +02:00
Yohan Boniface
200ee6ea10 chore: fix formatting 2024-05-01 16:26:38 +02:00
Yohan Boniface
8c20397209 fix: make sure to display anonymous edit link even if email is not configured 2024-05-01 15:43:10 +02:00
Yohan Boniface
757cc1ee6c fix: open caption form when clicking on map name, not advanced props 2024-05-01 15:31:32 +02:00
Yohan Boniface
cdb46752a9 fix: ensure tilelayer attribution with smart text is displayed as HMTL 2024-04-30 20:02:13 +02:00
Yohan Boniface
52ab531362
Merge pull request #1751 from umap-project/browse-data-expanded
make that "browse data" opens the browser in expanded mode
2024-04-19 17:39:26 +02:00
David Larlet
dc40addef4
Merge pull request #1766 from umap-project/redraw-popup-on-marker-change
fix: redraw popup on marker’s modifications
2024-04-19 11:34:04 -04:00
David Larlet
dd69efb45b
chore: set default navigation timeout for CI 2024-04-19 11:33:38 -04:00
David Larlet
788c638f3d
fix: redraw popup on marker’s modifications 2024-04-19 11:24:06 -04:00
David Larlet
d8c2e14b42
Merge pull request #1763 from umap-project/flammermann-facet-date
Date and number support for facets
2024-04-19 10:58:02 -04:00
David Larlet
c5507fbafe
fix: tests with iso dates and explicit days 2024-04-19 10:27:32 -04:00
Yohan Boniface
65e226ff1c
Merge pull request #1753 from umap-project/msg-no-csv-header
feat: display a message when importer cannot find lat/lng columns
2024-04-19 16:05:04 +02:00
Yohan Boniface
37e0582b30 chore: try to parse naive dates as UTC 2024-04-19 13:15:53 +02:00
Yohan Boniface
0b1693a1a2 chore: add some tests for facet search 2024-04-19 13:15:53 +02:00
David Larlet
836c3361d7
ci: mock OSM tiles requests in Playwright for speed
Also, cast the PLAYWRIGHT_TIMEOUT parameter.
2024-04-18 14:08:57 -04:00
Yohan Boniface
9a46901795
Merge pull request #1750 from umap-project/latest-open-popup
feat: open popup when default view is set to latest
2024-04-17 19:30:10 +02:00
Yohan Boniface
62e7e3c01a
Merge pull request #1755 from umap-project/browser-no-control
fix: make sure we do not render browser in map fragment
2024-04-17 18:33:54 +02:00
Yohan Boniface
1bf2642090
Merge pull request #1762 from umap-project/pw-timeout
chore: allow to set playwright timeout from env var
2024-04-17 15:03:46 +02:00
Yohan Boniface
c79660c354 chore: allow to set playwright timeout from env var
so we can increase it in the CI
2024-04-17 14:57:02 +02:00
Yohan Boniface
17e96e6c63 feat: add minimal OpenGraph links
cf #1591
2024-04-17 10:55:07 +02:00
Yohan Boniface
99d5165fcf fix: make sure we do not render browser in map fragment
There was an edge case when map has "dataLayersControl=expanded":
we only overrided "onLoadPanel", so dataLayersControl was still
considerer. Let's have a more generic stop.
2024-04-17 08:27:58 +02:00
Yohan Boniface
a6ed20b120 wip: make that "browse data" opens the browser in expanded mode
And also add a "See layer" action in the context menu.

I'm not totally sure it's the way to go, but it's closer to the
current behaviour, and as a user a way missing a way to go straight
to the extanded browser version.
2024-04-16 18:07:21 +02:00
Yohan Boniface
8c418287e4 feat: display a message when importer cannot find lat/lng columns
fix #1699
2024-04-16 17:39:15 +02:00
Yohan Boniface
e2413d1b83
Merge pull request #1749 from umap-project/layers-list-import-panel
fix: update layers list in import panel
2024-04-16 16:36:12 +02:00
Yohan Boniface
4b05a62b8b feat: open popup when default view is set to latest
fix #1726
2024-04-16 14:52:52 +02:00
Yohan Boniface
4f58b64ce5 fix: update layers list in import panel
fix #1729
2024-04-16 13:49:03 +02:00
Yohan Boniface
d3bf9fcdf0 fix: hide delete button for editors in dashboard
fix #1739
2024-04-16 11:32:00 +02:00
Yohan Boniface
2602b27f34 chore: fix tests after rebase 2024-04-16 10:30:05 +02:00
Yohan Boniface
e615e0926a chore: fix tests 2024-04-16 09:09:59 +02:00
Yohan Boniface
211a86f27c chore: lint 2024-04-16 09:09:59 +02:00
Yohan Boniface
c5e3dfb95c chore: fix JS syntax to be compatible with browser >= 2020
Safari only supports public field since 2021…
2024-04-16 09:09:59 +02:00
Yohan Boniface
581f7134fd chore: fix integration tests 2024-04-16 09:09:59 +02:00
Yohan Boniface
2a2f38e3cd chore: change edit button order 2024-04-16 09:08:15 +02:00
Yohan Boniface
e4ecb1a847 chore: fix test
This action is managed in the header panel, thus it's not a button.
We may make all header actions proper buttons, but maybe in another
PR ?
2024-04-16 09:08:15 +02:00
Yohan Boniface
87f611d0b5 chore: refactore panel header/toolbox 2024-04-16 09:08:15 +02:00
Yohan Boniface
8524cc785f chore: fix tests 2024-04-16 09:08:15 +02:00
517d3a1a81 tests: move functional tests in test_edit_map.py. 2024-04-15 23:46:43 +02:00
6841b5fc0f tests: Fix the test with the proper data. 2024-04-15 23:46:43 +02:00
3764bcfe3e tests: Use the first visible name when testing.
There are now multiple elements accessed with the same CSS selector.
2024-04-15 23:46:43 +02:00
2bcb862319 tests: Add on_edit integration tests 2024-04-15 23:46:43 +02:00
David Larlet
8c4d887999
chore: bump the timeout for integration tests 2024-04-02 14:01:27 -04:00
Yohan Boniface
a28db94f72 chore: move Feature.js integration tests to PW 2024-04-01 11:12:26 +02:00
Yohan Boniface
90ced76a11 fix: honour old_id in datalayers= query string parameter
fix #1714
2024-03-27 22:10:38 +01:00
Yohan Boniface
c92d24100f
Merge pull request #1716 from umap-project/refactor-init-center
chore: refactor initCenter and controls ordering
2024-03-27 21:38:22 +01:00
Yohan Boniface
e0ff82298a chore: move table editor tests to PW 2024-03-27 21:06:46 +01:00
Yohan Boniface
4669053b18 chore: refactor initCenter and controls ordering
We had an issue (not in Github :p) where a map was not loading
because the defaultView was set to "data", and the layers were
remote data layers. In this case, when computing the remote URL,
we allow to replace georelated variables (like east, west, north,
lat…), which needs the map to have a view.
So:
- the default view was expecting the data to be loaded (="data")
- the data to be loaded needed a default view…

So instead of adding yet another call to _setDefaultView in an
edge case, we reordered the way we initialize the map elements:

- first we initialize the controls (because initCenter needs the
  locate control to exist)
- then we call initCenter
- then we initialize the tile layers (because the miniMap needs it
  to render itself)
- then we call renderControls
2024-03-27 20:14:43 +01:00
Yohan Boniface
ca8f7bf280 chore: add openmap fixture 2024-03-27 13:01:01 +01:00
Yohan Boniface
490a1a6e19 chore: port DataLayer.js tests to PW 2024-03-27 13:00:45 +01:00
Yohan Boniface
b1fbccbdc5 chore: move Map and import tests to PW 2024-03-27 13:00:45 +01:00
Yohan Boniface
8392a748f1
Merge pull request #1704 from umap-project/remove-js-tests
chore: move js tests to PW
2024-03-26 08:55:20 +01:00
Yohan Boniface
c57469ee8b chore: move part of Polyline.js tests to PW 2024-03-26 08:50:55 +01:00
Yohan Boniface
1a2482f1e4 chore: move Polygon integration tests to PW 2024-03-26 08:50:55 +01:00
Yohan Boniface
99207638d9 fix: make sure to order datalayer versions by time
When we changed from id to uuid, we broke the sorting, which
supposed to have a constant id as string prefix from version to
the other.
2024-03-25 20:13:34 +01:00
Yohan Boniface
b9e27fc885 chore: change default playwright timeout to 5000ms 2024-03-25 15:20:16 +01:00
Yohan Boniface
5d8706c261 chore: remove Permissions tests from JS and update PW ones 2024-03-25 15:20:16 +01:00
Yohan Boniface
98f1e48df9 chore: move Choropleth tests to PW 2024-03-25 15:20:16 +01:00
Yohan Boniface
288c7983fc fix: Path.replace called instead str.replace 2024-03-25 14:40:48 +01:00
Yohan Boniface
15964b2edb chore: lint 2024-03-22 11:16:32 +01:00
Yohan Boniface
f8d08ea539 chore: more pw tests 2024-03-22 11:10:56 +01:00
Yohan Boniface
9e3eef341e chore: move exports tests from js to playwright 2024-03-22 10:50:50 +01:00
Yohan Boniface
01e94d45dc
Merge pull request #1666 from umap-project/almet/fix-same-second-last-modified
fix: Replace Last-Modified with custom headers
2024-03-14 18:15:36 +01:00
David Larlet
d050a70017
Set CORS-related header for oEmbed and map views 2024-03-13 14:02:34 -04:00
Yohan Boniface
8cc6d58752
Merge pull request #1688 from umap-project/fix-oembed-i18n
fix: deal with i18n in oembed URLs
2024-03-13 18:36:14 +01:00
Yohan Boniface
409c79415f fix: deal with i18n in oembed URLs 2024-03-13 18:03:20 +01:00
29992e10e6 fix: Replace Last-Modified with custom headers.
`X-Datalayer-Version` and `X-Datalayer-Reference` are now used instead
of the `Last-Modified` and `If-Unmodified-Since` headers.

`Last-Modified` is granular to the second, which led to problems with
the versionning. The new system uses timestamps instead.

This commit also changes the way versions were created. Previously,
the associated version was coming from two different places:
the last modified time from the filesystem and a `time.time()` call
done when saving the model, which could result in the two getting
out of sync.
2024-03-08 22:34:54 +01:00
9071d92986 chore: ensure merge + assigning ids are rejected
The current code already ensures that items
changed in the reference weren't also changed
in the latest changes, so we are covered.
2024-03-08 18:01:58 +01:00
Yohan Boniface
6396ee5e58
Merge pull request #1661 from umap-project/schema-i18n
Add minimal schema module
2024-03-05 17:57:40 +01:00
Yohan Boniface
6ed5ebc9fb
Merge pull request #1630 from umap-project/datalayer-uuids
chore: replace datalayer ids with uuids
2024-03-05 17:26:50 +01:00
Yohan Boniface
bfcdfdcfc1 chore: bump ruff 2024-03-05 17:23:49 +01:00
1b41ff0ddc chore: Rename datalayer id to old_id 2024-03-05 11:23:12 +01:00
David Larlet
ba41ae4000 fix: wait for agnocomplete in test 2024-03-04 17:43:40 +01:00
Yohan Boniface
fa0208519e
Merge pull request #1649 from umap-project/add-features-ids
chore: add ids on features
2024-03-04 11:18:39 +01:00
Yohan Boniface
c658b28f6e 2.0.4 2024-03-01 18:18:07 +01:00
Yohan Boniface
40d0095b3c
Merge pull request #1658 from umap-project/catch-mail-error
fix: catch SMTPException when sending secret edit link
2024-03-01 17:45:18 +01:00
Yohan Boniface
42129a3a45
Merge pull request #1667 from umap-project/fix-querystring-feature
fix: make sure to reset feature query string parameter
2024-03-01 17:02:03 +01:00
Yohan Boniface
dee6073428 chore: add test to cover opening feature on load 2024-03-01 15:49:27 +01:00
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
Yohan Boniface
48750b3fde
Merge pull request #1245 from umap-project/dynamic-default-status
Allow to configure default share and edit status
2023-08-15 07:26:29 +02:00
Yohan Boniface
0c3dc02fc1 Allow to configure default share and edit status
fix #1244
2023-08-07 08:16:49 +02:00
Yohan Boniface
fc37ad7c17 Adapt logout behaviour in ajax/not ajax modes 2023-07-27 15:02:51 +02:00
Yohan Boniface
f69c959f2a Use ns time for geojson and gzipped geojson mtime 2023-07-19 14:16:57 +02:00
Yohan Boniface
2f00ddb8c5 Fix test 2023-07-17 15:55:37 +02:00
Yohan Boniface
77cedd3288 Display share status in dashboard 2023-07-17 09:08:59 +02:00
Yohan Boniface
bb4c027ec7 Allow to use http://umap.fr/map/xxxx?share to open shareBox on load
That way is more consistent with ?download and ?edit
2023-07-15 09:31:37 +02:00
Yohan Boniface
d2cc6e101d Minimal user_dashboard tests 2023-07-12 09:09:01 +02:00
Yohan Boniface
1d5c1a067a Expose version in /stats/ endpoint 2023-06-20 15:14:28 +02:00
Yohan Boniface
b324e59cd4 Fix stars link in header 2023-06-17 15:59:16 +02:00
Yohan Boniface
02a14a32f4 add tests for user display and slug customization 2023-06-17 06:35:21 +02:00
Yohan Boniface
51a904dc07 Only return anonymous_url in anonymous context
Otherwise the frontend will treat map as anonymous even with
and owner and display a wrong message creation.

Also, this edit URL does not make sense (and will not work)
when there is an owner.
2023-06-04 08:05:48 +02:00
Yohan Boniface
6e0c4723a4
Merge pull request #1102 from umap-project/mail-link
Add a button to send edit link by email in anonymous mode
2023-06-02 23:32:34 +02:00
Yohan Boniface
1b791347d8 Also catch InvalidURL in ajax-proxy
fix #1119
2023-06-02 22:45:13 +02:00
David Larlet
4ba1946868
Fix test about subject
Introduced in 5460876ff4
2023-06-02 11:54:44 -04:00
David Larlet
bf4a84de99
Apply black on test map views file 2023-06-02 11:54:09 -04:00
Yohan Boniface
8f52d34bb2 WIP: final bit to make sending edit link working 2023-05-31 17:05:57 +02:00
Yohan Boniface
eb32dcc9b6 Make that Map.get_anonymous_edit_url returns full URL 2023-05-31 16:30:07 +02:00
David Larlet
3f28c04241
Banner + no create buttons when in read only mode
Fix #1095
2023-05-30 16:17:12 -04:00
David Larlet
6f72df82b7 Improve stats view testing with another user 2023-05-23 12:09:10 -04:00
David Larlet
9d752ea306 Add a very basic /stats/ JSON view
Will be useful to feed munin for instance.
2023-05-22 17:47:04 -04:00
Yohan Boniface
40f40038f8 Fix url order for retrieving user stars
Since that initial PR, the username regex has been more gready.
2023-05-15 12:22:28 +02:00
Yohan Boniface
37b4d05da5 (WIP) Allow to star map and retrieve starred maps 2023-05-15 12:22:26 +02:00
Yohan Boniface
1038836a72 Use Django full text instead of custom SQL 2023-05-11 11:33:08 +02:00
Luc Didry
123af0a7c9
🐛 — Allow to use SHA1-signed anonymous edit URL
The default django.core.signing Signer uses SHA256 algorithm since Django 3.
Umap used Django 2 in the paste, so people had SHA1 signed anonymous edit URLs,
which became unusable when umap switch to Django 3.
This commit makes them usable again (the new SHA256-signed anonymous edit URLs
still works, obviously).
2023-03-29 12:49:32 +02:00
Yohan Boniface
90607c7581 Black on test_datalayer_views 2023-02-28 17:14:57 +01:00
Yohan Boniface
1c39245af8 iwyu 2023-02-27 13:50:37 +01:00
Yohan Boniface
e343ddb636 Do not deal with gzip while serving without x-accel-redirect
Let's keep this path simple, as it should not be used in normal
production context.
2023-02-27 13:49:21 +01:00
Yohan Boniface
6694306660 Use If-Unmodified-Since istead of If-Match
If-Match relies on ETag, which depends on the Content-Encoding,
which is more fragile given we updated the etag on save, while normal
files are served by nginx. So this may occurs false mismatch.
2023-02-27 13:45:15 +01:00
Yohan Boniface
a8dee3fa07 Add Vary: Accept-Encoding header 2023-02-23 11:17:19 +01:00
Yohan Boniface
ebf0dee216 Travis stuff 2021-05-30 22:53:16 +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
462e7a8a0f Try to upgrade Postgis on travis 2019-04-07 14:05:56 +02:00
Yohan Boniface
17db76d003 Specify Postgis version in settings for Travis 2019-04-07 13:59:00 +02:00
Yohan Boniface
5b8a8904cc Add Map.BLOCKED share status 2019-04-07 11:12:38 +02:00
Yohan Boniface
7e38a08fb8 Switch from DictField to JSONField 2019-04-07 10:40:30 +02:00
Yohan Boniface
f3ecc8ce28 Update permissions metadata at each map save
This fix the issue where the permissions panel was not available
on first save (without reloading the page).
2018-09-23 09:57:00 +02:00
Yohan Boniface
c5ca7e5d73 Change Map.center.widget SRID to 4326 as it should be
By default, a PointField uses a OpenLayersWidget, which forces the
SRID to 3857 when casting geojson (no idea why, given geojson SRID
is 4326).
2018-09-08 22:42:11 +02:00
Yohan Boniface
da4ee13deb Display a message on the site when trying to do a POST in readonly mode 2018-09-08 16:49:25 +02:00
Yohan Boniface
7941e8fa60 Add a readonly mode
Activable with UMAP_READONLY=True
2018-09-07 22:12:39 +02:00
Yohan Boniface
81f6b429bc allow to cache proxied remote data requests
cf #513
cf #510
cf #160
2018-08-04 20:50:03 +02:00
Yohan Boniface
408bbd81aa Fix map/id/geojson content_type 2018-07-14 23:55:21 +02:00
Yohan Boniface
72b943d779 Remove Map.tilelayer foreignkey
Map tilelayer is saved in the settings since a long time now.
2018-07-14 13:59:40 +02:00
Yohan Boniface
1a815b313d Add an explicit button to attach an owner to an anonymous map
fix #568
2018-07-07 16:44:40 +02:00
Yohan Boniface
705d0cbb73 Add back TileLayer and Licence creation migration
Lost during merge with django-leaflet-storage
2018-07-07 14:42:25 +02:00
Yohan Boniface
ac8b68b0e5 Remove OldMapUrl 2018-06-15 23:31:45 +02:00
Yohan Boniface
8655061817 Rename in JS/CSS: storage_ => umap_ storage- => umap- 2018-06-02 15:47:57 +02:00
Yohan Boniface
62a825e6ed Replace LEAFLET_STORAGE_XXX settings by UMAP_XXXX
We keep a retrocompatibility for now.
2018-05-19 17:16:34 +02:00
Yohan Boniface
8fd541955e Disable compressor during unittests for now 2018-05-19 16:28:56 +02:00
Yohan Boniface
53c738abaf Merge leaflet_storage tests 2018-05-19 11:54:08 +02:00
Yohan Boniface
e55d03bd5e Django 2.0
And update other deps
2018-05-19 10:05:18 +02:00
Yohan Boniface
0104337406 Add travis.yml 2017-05-12 10:42:02 +02:00
Yohan Boniface
6b207e2811 Add minimal tests for password login 2016-09-09 21:30:05 +02:00
Yohan Boniface
805bca7a97 Switch to pytest 2016-08-20 12:33:05 +02:00
Yohan Boniface
7b5ea8df67 First shot in Django 1.8 / python 3 support
This also replaced pg_index with a simple builting seach
based on tsvector, as pg_index is not compliant with Django 1.8,
and as some old dependencies that would need to be upgrade too.
2015-08-02 18:08:31 +02:00
Yohan Boniface
469187e4f1 Catch unkown domain in validate_url 2014-07-18 23:26:16 +02:00
Yohan Boniface
3ca24f5838 Quick hack to prevent django from adding vary:cookie on proxy view 2014-04-20 12:24:13 +02:00
Yohan Boniface
1fd245830e iwyu 2014-04-19 20:26:28 +02:00