Yohan Boniface
cafd651560
feat: associate icons to tags
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-03-28 16:50:05 +01:00
Yohan Boniface
2a52017f76
feat: add Map.tags and allow to edit from client
...
cf #2283
2025-03-28 16:50:05 +01:00
Yohan Boniface
284ca8fd9c
chore: be more persuasive in deprecating twitter login backend
...
- always redirect user from map to their profile page when they
used a deprecated backend to log in
- change the Twitter image to make clear it is to be removed
Co-authored-by: David Larlet <david@larlet.fr>
2025-03-03 18:24:23 +01:00
David Larlet
ea58f93940
a11y: update URLs and (underlined) styles for help
2025-03-03 09:10:37 -05:00
Yohan Boniface
5ae83a571b
feat: add DEPRECATED_AUTHENTICATION_PROVIDERS setting ( #2461 )
...
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
Test & Docs / docs (push) Waiting to run

2025-01-30 17:15:53 +01:00
David Larlet
44aa914658
a11y: include site description within page titles
...
This is not the same as the short SITE_NAME which is displayed as the title of the (home)page for instance.
2025-01-30 10:36:31 -05:00
Yohan Boniface
ee1a87cdeb
feat: add DEPRECATED_AUTHENTICATION_PROVIDERS setting
2025-01-30 11:04:02 +01:00
Yohan Boniface
36d9e9bf06
wip(sync): use the correct URL for websocket
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:17:16 +01:00
Yohan Boniface
acb2e967b8
wip(sync): POC of using Redis for pubsub
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:17:16 +01:00
Yohan Boniface
a29eae138e
wip(sync): websocket server with ASGI and PostgreSQL LISTEN/NOTIFY
2025-01-23 17:16:44 +01:00
Yohan Boniface
31546d6ff4
wip(sync): use django-channels to serve websockets
...
Co-authored-by: David Larlet <david@larlet.fr>
2025-01-23 17:16:44 +01:00
Yohan Boniface
8b65674e0a
chore: make S3 dependencies optional
2024-12-11 19:16:17 +01:00
David Larlet
14e74d15c1
chore: always gzip geojson in S3 storage
2024-12-10 19:03:19 +01:00
Yohan Boniface
a04624c4c8
feat: support storing layer data in S3 like servers
...
fix #2290
2024-12-10 18:51:58 +01:00
Yohan Boniface
29d243b3c5
feat: move map to trash on delete
...
This also:
- adds a `umap empty_trash` command
- remove the previous purgatory concept
2024-12-10 16:30:23 +01:00
Yohan Boniface
78d6699a81
feat: allow to configure the default label keys per instance
...
fix #2289
2024-12-02 12:58:19 +01:00
Yohan Boniface
833941a9e6
chore: set an explicit db engine (postgis)
...
While working on a helm chart, we do not control the creation of
the db URL, which use "postgres://" instead of "postgis://", so
Django does not set the correct engine.
2024-11-19 18:44:35 +01:00
Yohan Boniface
b3e88b6096
chore: make daphne/asgi optional for now
2024-10-14 12:10:13 +02:00
71943c0ab3
chore: use asgi rather than wsgi
...
By relying on Django Channels and Daphne.
This requires a change in how the application is deployed to take that into account.
2024-10-14 12:04:44 +02:00
Yohan Boniface
49eb121c68
feat: delete datalayer's files on delete
...
Until now, uMap was not deleting files on delete, which can increase
file storage a lot after some time.
The files are not deleted, but moved to a "purgatory" folder, from
where they can be deleted after some time.
2024-09-23 09:56:20 +02:00
David Larlet
d159fdc2cb
feat: add a setting to prevent users from editing their profile
...
In some situations, the profile comes from the OAuth provider and shouldn’t be modified by users.
2024-09-12 14:23:50 -04:00
Yohan Boniface
9bde88a513
fix: register fa-ir in LANG_INFO
...
fix #2086
2024-09-04 11:31:56 +02:00
Yohan Boniface
a72691e390
feat: display contact infos in the footer
...
This adds a new settings: UMAP_HOST_INFOS
Also, renames UMAP_FEEDBACK_LINK in UMAP_HELP_URL.
cf #2004
2024-08-29 11:41:11 +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
ca18c5b7df
chore: move alert.html inside templates and update translations
...
When alert.html was in static, Django was creating a new translation
file, while we want it to just add those strings in the backend
po file.
2024-06-14 20:41:53 +02:00
Yohan Boniface
d928195a5b
wip: rename and document UMAP_IMPORTERS
2024-06-14 18:40:05 +02:00
Yohan Boniface
a70307ea29
wip: rename presets to datasets
2024-06-14 18:40:05 +02:00
Yohan Boniface
f5eea1fe3f
wip(naming): replace "plugin" by "importer"
...
We are not ready yet to talk about plugins
2024-06-14 18:38:30 +02:00
Yohan Boniface
93a189497b
wip: control plugins from settings
2024-06-14 18:38:29 +02:00
David Larlet
5c2528900e
chore: Use web components to display alerts + a11y roles
2024-06-12 18:03:04 -04: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
def915c561
feat(settings): allow reading socket-related settings from ENV variables
2024-06-07 18:21:30 +02:00
32a4f3feda
feat(sync): Add WebSocket specific settings
...
`WEBSOCKET_ENABLED`, `WEBSOCKET_HOST`, `WEBSOCKET_PORT` and
`WEBSOCKET_URI` have been added.
They are being transmitted to the client via the `map.options`.
When `WEBSOCKET_ENABLED` is set to `False`, the client doesn't have
the ability to be synced.
2024-06-07 18:21:30 +02:00
f255c3c8a5
feat(websockets): Authenticate with signed tokens.
...
Authentication is now done using a signed token provided by the Django
server, sent by the JS client and checked by the WebSocket server.
The token contains a `permissions` key that's checked to ensure the user
has access to the map "room", where events will be shared by the peers.
2024-06-07 18:21:30 +02:00
2daeaf12e0
WIP
2024-06-07 18:21:30 +02:00
Yohan Boniface
87e2467a4c
feat: add link in contextmenu to edit map in OSM
...
fix #1651
2024-04-17 09:34:39 +02:00
Yohan Boniface
bfcdfdcfc1
chore: bump ruff
2024-03-05 17:23:49 +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
1a67d01c61
chore: replace deprecated FORM_RENDERER setting
2024-02-16 12:40:37 +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
a99ee90e15
chore: migrate to OAuth 2 for OpenStreetMap backend
...
fix #1279
2024-02-14 11:30:16 +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
23af4c60cd
chore: move UmapManifestStaticFilesStorage to a dedicated file
2024-01-19 17:16:35 +01:00
David Larlet
656e29c72b
Use custom storage instead of django-compressor
2024-01-17 09:09:00 -05: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
aff0181636
[style] Format the code
2023-11-24 23:31:18 +01:00
David Larlet
af3518ad08
Apply Black to settings files
2023-09-26 09:40:41 -04:00
David Larlet
27e8fd0cac
Merge pull request #1324 from openbrian/add-username-to-features
...
Add username to features
2023-09-25 11:08:32 -04:00
Brian DeRocher
6720f76d85
Set the map option. No need for setting boolean from query string.
...
Only add the owner property if the feature flag (map.options.featuresHaveOwner) is enabled.
Default to features do NOT have owners.
2023-09-20 13:16:52 -04:00
Brian DeRocher
e25fb5d04f
Add FeaturesHaveOwners map option.
...
WIP
2023-09-20 12:48:32 -04:00