From 370ed814f76012a97fd40d50c367b2f7240dfc09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 18 Sep 2013 11:22:29 +0200 Subject: [PATCH 1/5] add permissions of the file to the json response --- apps/files/ajax/upload.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php index 1d03cd89f8..4f10891058 100644 --- a/apps/files/ajax/upload.php +++ b/apps/files/ajax/upload.php @@ -116,7 +116,8 @@ if (strpos($dir, '..') === false) { 'name' => basename($target), 'originalname' => $files['name'][$i], 'uploadMaxFilesize' => $maxUploadFileSize, - 'maxHumanFilesize' => $maxHumanFileSize + 'maxHumanFilesize' => $maxHumanFileSize, + 'permissions' => $meta['permissions'] ); } } From 6ed2df11fcfbd632c9702fe3e04569fcb456f972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 18 Sep 2013 13:09:04 +0200 Subject: [PATCH 2/5] store the permissions retrieved via ajax within the dom element --- apps/files/js/filelist.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index b50d46c98d..fe8b1c5591 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -745,6 +745,12 @@ $(document).ready(function(){ data.context.attr('data-size', file.size); data.context.find('td.filesize').text(humanFileSize(file.size)); } + var permissions = data.context.data('permissions'); + if(permissions != file.permissions) { + data.context.attr('data-permissions', file.permissions); + data.context.data('permissions', file.permissions); + } + FileActions.display(data.context.find('td.filename')); if (FileList.loadingDone) { FileList.loadingDone(file.name, file.id); } From 20a43d1982188cee9fed5342ad5ade0a3d21d0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 18 Sep 2013 13:09:47 +0200 Subject: [PATCH 3/5] remove file action elements before recreating them --- apps/files/js/fileactions.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 330fe86f6b..009ea62de9 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -68,6 +68,9 @@ var FileActions = { if ($('tr[data-file="'+file+'"]').data('renaming')) { return; } + + // recreate fileactions + parent.children('a.name').find('.fileactions').remove(); parent.children('a.name').append(''); var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); @@ -117,6 +120,8 @@ var FileActions = { addAction('Share', actions.Share); } + // remove the existing delete action + parent.parent().children().last().find('.action.delete').remove(); if (actions['Delete']) { var img = FileActions.icons['Delete']; if (img.call) { From 3c0e93e220f734e8d08ab60b84c5f0577a2d6b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 18 Sep 2013 23:06:48 +0200 Subject: [PATCH 4/5] no file actions during upload --- apps/files/js/filelist.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index fe8b1c5591..33fde01beb 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -130,7 +130,6 @@ var FileList={ if (hidden) { tr.hide(); } - FileActions.display(tr.find('td.filename')); return tr; }, addDir:function(name,size,lastModified,hidden){ From 43a96621eaf96a61e27c1a333e662409f10ef263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 18 Sep 2013 23:42:36 +0200 Subject: [PATCH 5/5] adding comma to get cleaner diffs in the future --- apps/files/ajax/upload.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php index 4f10891058..41d3a3eca4 100644 --- a/apps/files/ajax/upload.php +++ b/apps/files/ajax/upload.php @@ -117,7 +117,7 @@ if (strpos($dir, '..') === false) { 'originalname' => $files['name'][$i], 'uploadMaxFilesize' => $maxUploadFileSize, 'maxHumanFilesize' => $maxHumanFileSize, - 'permissions' => $meta['permissions'] + 'permissions' => $meta['permissions'], ); } }