diff --git a/integ_tests/test_sharing.py b/integ_tests/test_sharing.py index 63d7456f..9c28486c 100644 --- a/integ_tests/test_sharing.py +++ b/integ_tests/test_sharing.py @@ -29,6 +29,7 @@ def test_create_and_delete_share_by_key(page: Page, radicale_server: str) -> Non expect( page.locator("tr[data-name='sharetokenrowtemplate']:not(.hidden) img[alt='RO']") ).to_be_visible() + page.once("dialog", lambda dialog: dialog.accept()) page.click('tr:not(.hidden) button[data-name="delete"]', strict=True) expect( page.locator("tr[data-name='sharetokenrowtemplate']:not(.hidden)") @@ -40,6 +41,7 @@ def test_create_and_delete_share_by_key(page: Page, radicale_server: str) -> Non expect( page.locator("tr[data-name='sharetokenrowtemplate']:not(.hidden) img[alt='RW']") ).to_be_visible() + page.once("dialog", lambda dialog: dialog.accept()) page.click('tr:not(.hidden) button[data-name="delete"]', strict=True) expect( page.locator("tr[data-name='sharetokenrowtemplate']:not(.hidden)") diff --git a/radicale/web/internal_data/ShareCollectionScene.js b/radicale/web/internal_data/ShareCollectionScene.js index 7ae02a80..4caf4fec 100644 --- a/radicale/web/internal_data/ShareCollectionScene.js +++ b/radicale/web/internal_data/ShareCollectionScene.js @@ -28,14 +28,6 @@ import { Collection } from "./models.js"; import { Scene, pop_scene, scene_stack } from "./scene_manager.js"; /** - * @constructor - * @implements {Scene} - * @param {string} user - * @param {string} password - * @param {Collection} collection The collection on which to edit sharing setting. Must exist. - */ -/** - * @constructor * @implements {Scene} * @param {string} user * @param {string} password @@ -147,10 +139,13 @@ function add_share_rows(user, password, collection, shares) { } /** @type {HTMLElement} */ let delete_btn = node.querySelector("[data-name=delete]"); delete_btn.onclick = function () { + if (!confirm("Are you sure you want to delete share " + pathortoken + "?")) { + return; + } delete_share_by_token( user, password, - share["PathOrToken"], + pathortoken, function () { update_share_list(user, password, collection); },