Always remove ?edit from URL, so users do not share it by mistake

This commit is contained in:
Yohan Boniface 2023-09-27 07:13:30 +02:00
parent ff89125c80
commit 013d2fd5ee
2 changed files with 7 additions and 3 deletions

View file

@ -265,9 +265,11 @@ L.U.Map.include({
if (slug && this.features_index[slug]) this.features_index[slug].view()
if (L.Util.queryString('edit')) {
if (this.hasEditMode()) this.enableEdit()
// Sometimes users share the ?edit link by mistake, let's redirect
// to canonical in this case
else window.location = window.location.pathname
// Sometimes users share the ?edit link by mistake, let's remove
// this search parameter from URL to prevent this
const url = new URL(window.location)
url.searchParams.delete('edit')
history.pushState({}, '', url)
}
if (L.Util.queryString('download')) this.download()
})

View file

@ -94,6 +94,8 @@ def test_owner_permissions_form(map, datalayer, live_server, login):
".datalayer-permissions select[name='edit_status'] option:checked"
)
expect(option).to_have_text("Inherit")
# Should have been removed since page load
assert "edit" not in page.url
def test_map_update_with_editor(map, live_server, login, user):