From 7f58f36b18ae4d243aff1675fceb776b6869f25e Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 15 Aug 2018 15:20:41 +0200 Subject: [PATCH 1/3] remove unexecutable code OCA.Sharing.SharedFileInfo was never defined and that stopped execution. Interestingly, FF never showed me an error. Signed-off-by: Arthur Schiwon --- apps/files_sharing/js/sharedfilelist.js | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/apps/files_sharing/js/sharedfilelist.js b/apps/files_sharing/js/sharedfilelist.js index 71192497143e0..84e4e62f8a1bc 100644 --- a/apps/files_sharing/js/sharedfilelist.js +++ b/apps/files_sharing/js/sharedfilelist.js @@ -166,24 +166,7 @@ }, updateRow: function($tr, fileInfo, options) { - if(!fileInfo instanceof OCA.Sharing.SharedFileInfo) { - // recycle SharedFileInfo values if something tries to overwrite it - var oldModel = this.getModelForFile($tr); - - if(_.isUndefined(fileInfo.recipientData) && oldModel.recipientData) { - fileInfo.recipientData = oldModel.recipientData; - } - if(_.isUndefined(fileInfo.recipients) && oldModel.recipientData) { - fileInfo.recipientData = oldModel.recipientData; - } - if(_.isUndefined(fileInfo.shares) && oldModel.shares) { - fileInfo.shares = oldModel.shares; - } - if(_.isUndefined(fileInfo.shareOwner) && oldModel.shareOwner) { - fileInfo.shareOwner = oldModel.shareOwner; - } - } - OCA.Files.FileList.prototype._createRow.updateRow(this, arguments); + // no-op, suppress re-rendering }, reload: function() { @@ -328,11 +311,11 @@ * Converts the OCS API share response data to a file info * list * @param {Array} data OCS API share array + * @param {bool} sharedWithUser * @return {Array.} array of shared file info */ _makeFilesFromShares: function(data, sharedWithUser) { /* jshint camelcase: false */ - var self = this; var files = data; if (this._linksOnly) { @@ -447,8 +430,8 @@ // array of sorted names data.mountType = 'shared'; delete data.recipientsCount; - if (self._sharedWithUser) { - // only for outgoing shres + if (sharedWithUser) { + // only for outgoing shares delete data.shareTypes; } else { data.shareTypes = _.keys(data.shareTypes); From e89567eb53adac4655e4eb342788dc30758afcf3 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Wed, 15 Aug 2018 15:21:01 +0200 Subject: [PATCH 2/3] Take base permissions from DAV, fixes #10516 Signed-off-by: Arthur Schiwon --- core/js/shareitemmodel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js index 241b9c19c0d82..c28d85efbf0fa 100644 --- a/core/js/shareitemmodel.js +++ b/core/js/shareitemmodel.js @@ -777,7 +777,7 @@ return {}; } - var permissions = this.get('possiblePermissions'); + var permissions = this.fileInfoModel.get('permissions'); if(!_.isUndefined(data.reshare) && !_.isUndefined(data.reshare.permissions) && data.reshare.uid_owner !== OC.currentUser) { permissions = permissions & data.reshare.permissions; } From be873c234b077f48472f1d46f1998343e815fe86 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 16 Aug 2018 23:08:15 +0200 Subject: [PATCH 3/3] adapt jsunit test Signed-off-by: Arthur Schiwon --- core/js/tests/specs/shareitemmodelSpec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/js/tests/specs/shareitemmodelSpec.js b/core/js/tests/specs/shareitemmodelSpec.js index 0a345786b7347..2e89b2e3cdab1 100644 --- a/core/js/tests/specs/shareitemmodelSpec.js +++ b/core/js/tests/specs/shareitemmodelSpec.js @@ -345,7 +345,7 @@ describe('OC.Share.ShareItemModel', function() { }])); fetchSharesDeferred.resolve(makeOcsResponse([])); - model.set('possiblePermissions', OC.PERMISSION_READ); + model.fileInfoModel.set('permissions', OC.PERMISSION_READ); model.fetch(); // no resharing allowed