From 5290bcf79169ae49111c50223a0416fc4fb70404 Mon Sep 17 00:00:00 2001 From: yflory Date: Fri, 8 Nov 2019 12:42:06 +0100 Subject: [PATCH] Remove edit actions in read-only shared folder context menu --- www/common/drive-ui.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/www/common/drive-ui.js b/www/common/drive-ui.js index 3b52e3193..993d50057 100644 --- a/www/common/drive-ui.js +++ b/www/common/drive-ui.js @@ -1122,6 +1122,10 @@ define([ paths.forEach(function (p) { var path = p.path; var $element = p.element; + + if (APP.$content.data('readOnlyFolder') && + manager.isSubpath(path, currentPath)) { editable = false; } + if (!$element.closest("#cp-app-drive-tree").length) { hide.push('expandall'); hide.push('collapseall'); @@ -1267,6 +1271,7 @@ define([ show.forEach(function (className) { var $el = $contextMenu.find('.cp-app-drive-context-' + className); if ((!APP.editable || !editable) && $el.is('.cp-app-drive-context-editable')) { return; } + if ((!APP.editable || !editable) && $el.is('.cp-app-drive-context-editable')) { return; } if (filter($el, className)) { return; } $el.parent('li').show(); filtered.push('.cp-app-drive-context-' + className); @@ -1876,6 +1881,7 @@ define([ if (!element || !manager.isFolder(element)) { return; } // The element with the class '.name' is underlined when the 'li' is hovered var $state = $('', {'class': 'cp-app-drive-element-state'}); + var $ro; if (manager.isSharedFolder(element)) { var data = manager.getSharedFolderData(element); key = data && data.title ? data.title : key; @@ -1889,14 +1895,14 @@ define([ $password.attr('title', Messages.fm_passwordProtected || ''); } if (hrefData.hashData && hrefData.hashData.mode === 'view') { - var $ro = $readonlyIcon.clone().appendTo($state); + $ro = $readonlyIcon.clone().appendTo($state); $ro.attr('title', Messages.readonly); } var $shared = $sharedIcon.clone().appendTo($state); $shared.attr('title', Messages.fm_canBeShared); } else if ($content.data('readOnlyFolder') || APP.readOnly) { - var $ro = $readonlyIcon.clone().appendTo($state); + $ro = $readonlyIcon.clone().appendTo($state); $ro.attr('title', Messages.readonly); }