From 53eab89c8ab84198d73ed3e99e5215b8ea62a015 Mon Sep 17 00:00:00 2001 From: DianaXWiki Date: Mon, 26 Jan 2026 15:38:47 +0200 Subject: [PATCH] Display shared folder error modal for folders containing shared too --- www/common/drive-ui.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index 4b821c3be..39f453ab9 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -2166,7 +2166,8 @@ define([ var movedPaths = []; var sharedF = false; - var draggedSharedFolder = false; + var draggedSharedFolder = false; + var folderContainsSharedFolder = false; oldPaths.forEach(function (p) { movedPaths.push(p.path); if (!sharedF && manager.isInSharedFolder(p.path)) { @@ -2175,11 +2176,17 @@ define([ if (!draggedSharedFolder && p.value && p.value.el && manager.isSharedFolder(p.value.el)) { draggedSharedFolder = true; } + if (!folderContainsSharedFolder && p.value && p.value.el && manager.hasSubSharedFolder(p.value.el)) { + folderContainsSharedFolder = true; + } }); if (draggedSharedFolder && manager.isInSharedFolder(newPath)) { return void UI.warn(Messages.fo_sharedFolder_move_error); } + if (manager.isPathIn(newPath, [SHARED_FOLDER])) { + return void UI.warn(Messages.fo_sharedFolder_move_error); + } if (sharedF && manager.isPathIn(newPath, [TRASH])) { // TODO create a key here? // You can't move to YOUR trash documents stored in a shared folder @@ -2187,6 +2194,12 @@ define([ return void UI.warn(Messages.fo_trash_move_error); //return void deletePaths(null, movedPaths); } + if (folderContainsSharedFolder) { + var destEl = manager.find(newPath); + if (manager.isInSharedFolder(newPath) || (destEl && manager.hasSubSharedFolder(destEl))) { + return void UI.warn(Messages.fo_sharedFolder_move_error); + } + } var copy = false; if (ev.ctrlKey || (ev.metaKey && APP.isMac)) {