From 38ba64af77f9c58f13b59d3470465fce1a7f1ff2 Mon Sep 17 00:00:00 2001 From: Roland Tapken Date: Tue, 6 Feb 2018 16:44:04 +0100 Subject: Split move and copy operations The new 'Move and copy' operation from #6040 requires UPDATE permissions on the selected files. However, READ would be sufficient to create a copy of a file (if not viewed as a public share). For this reason this patch: - changes the permission of the 'MoveCopy' action to PERMISSION_READ - changes the label of the action depending on the permissions - changes the available buttons in the Move/Copy dialog depending on the permissions. The same changes are done to the filelist view for bulk actions. Signed-off-by: Roland Tapken --- apps/files/tests/js/fileactionsmenuSpec.js | 3 +++ apps/files/tests/js/filelistSpec.js | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'apps/files/tests') diff --git a/apps/files/tests/js/fileactionsmenuSpec.js b/apps/files/tests/js/fileactionsmenuSpec.js index 926516b3043..c678d166153 100644 --- a/apps/files/tests/js/fileactionsmenuSpec.js +++ b/apps/files/tests/js/fileactionsmenuSpec.js @@ -271,6 +271,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { $file: $tr, fileList: fileList, fileActions: fileActions, + fileInfoModel: new OCA.Files.FileInfoModel(fileData), dir: fileList.getCurrentDirectory() }; menu = new OCA.Files.FileActionsMenu(); @@ -304,6 +305,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { $file: $tr, fileList: fileList, fileActions: fileActions, + fileInfoModel: new OCA.Files.FileInfoModel(fileData), dir: '/anotherpath/there' }; menu = new OCA.Files.FileActionsMenu(); @@ -336,6 +338,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { $file: $tr, fileList: fileList, fileActions: fileActions, + fileInfoModel: new OCA.Files.FileInfoModel(fileData), dir: '/somepath/dir' }; menu = new OCA.Files.FileActionsMenu(); diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 08da15b8a88..1b26a468172 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -94,7 +94,7 @@ describe('OCA.Files.FileList tests', function() { '' + 'Name' + '' + '' + @@ -2101,10 +2101,17 @@ describe('OCA.Files.FileList tests', function() { $('#permissions').val(OC.PERMISSION_READ | OC.PERMISSION_UPDATE); $('.select-all').click(); expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Move or copy'); testFiles[0].permissions = OC.PERMISSION_READ; $('.select-all').click(); fileList.setFiles(testFiles); $('.select-all').click(); + expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Copy'); + testFiles[0].permissions = OC.PERMISSION_NONE; + $('.select-all').click(); + fileList.setFiles(testFiles); + $('.select-all').click(); expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(true); }); it('show doesnt show the download action if one or more files are not downloadable', function () { -- cgit v1.2.3