diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 0f320c8b3c..6c031ab06d 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -235,7 +235,7 @@
}
var filteredActions = {};
$.each(actions, function (name, action) {
- if (action.permissions & permissions) {
+ if ((action.permissions === OC.PERMISSION_NONE) || (action.permissions & permissions)) {
filteredActions[name] = action;
}
});
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 4790afcf4d..c19f517e42 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1159,6 +1159,11 @@
}
}
+ var permissions = fileData.permissions;
+ if (permissions === undefined || permissions === null) {
+ permissions = this.getDirectoryPermissions();
+ }
+
//containing tr
var tr = $('
').attr({
"data-id" : fileData.id,
@@ -1168,7 +1173,7 @@
"data-mime": mime,
"data-mtime": mtime,
"data-etag": fileData.etag,
- "data-permissions": fileData.permissions || this.getDirectoryPermissions(),
+ "data-permissions": permissions,
"data-has-preview": fileData.hasPreview !== false
});
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 8bb188e360..8a3e8cb9d4 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -296,6 +296,15 @@ describe('OCA.Files.FileList tests', function() {
expect($tr.find('.filesize').text()).toEqual('Pending');
expect($tr.find('.date').text()).not.toEqual('?');
});
+ it('generates file element with no permissions when permissions are explicitly none', function() {
+ var fileData = {
+ type: 'dir',
+ name: 'testFolder',
+ permissions: OC.PERMISSION_NONE
+ };
+ var $tr = fileList.add(fileData);
+ expect($tr.attr('data-permissions')).toEqual('0');
+ });
it('generates file element with zero size when size is explicitly zero', function() {
var fileData = {
type: 'dir',
diff --git a/core/js/js.js b/core/js/js.js
index c02ef5c792..246aae3ac0 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -60,6 +60,7 @@ function fileDownloadPath(dir, file) {
/** @namespace */
var OCP = {},
OC = {
+ PERMISSION_NONE:0,
PERMISSION_CREATE:4,
PERMISSION_READ:1,
PERMISSION_UPDATE:2,