fix: only allow to set a map as sync when it is already saved (#2465)

This commit is contained in:
Yohan Boniface 2025-01-31 17:10:22 +01:00 committed by GitHub
commit 1d6e74e1d2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View file

@ -1111,7 +1111,7 @@ export default class Umap extends ServerStored {
this._editOverlay(container)
this._editBounds(container)
this._editSlideshow(container)
if (this.properties.websocketEnabled) {
if (this.properties.websocketEnabled && this.id) {
this._editSync(container)
}
this._advancedActions(container)

View file

@ -503,9 +503,12 @@ def test_create_and_sync_map(new_page, asgi_live_server, tilelayer, login, user)
# Create a syncable map with peerA
peerA = login(user, prefix="Page A")
peerA.goto(f"{asgi_live_server.url}/en/map/new/")
peerA.get_by_role("link", name="Map advanced properties").click()
expect(peerA.get_by_text("Real-time collaboration", exact=True)).to_be_hidden()
with peerA.expect_response(re.compile("./map/create/.*")):
peerA.get_by_role("button", name="Save Draft").click()
peerA.get_by_role("link", name="Map advanced properties").click()
expect(peerA.get_by_text("Real-time collaboration", exact=True)).to_be_visible()
peerA.get_by_text("Real-time collaboration", exact=True).click()
peerA.get_by_text("Enable real-time").click()
peerA.get_by_role("link", name="Update permissions and editors").click()