fix: only allow to set a map as sync when it is already saved

This commit is contained in:
Yohan Boniface 2025-01-31 15:45:55 +01:00
parent 3e9982c8cb
commit 2162aaf930
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()