-
+
diff --git a/src/js/filemanager.js b/src/js/filemanager.js
index d8e38e45f..e5d57a268 100644
--- a/src/js/filemanager.js
+++ b/src/js/filemanager.js
@@ -668,18 +668,19 @@ app.controller('FileManagerController', ['$scope', '$translate', '$timeout', 'Cl
$scope.chownEntry = {
busy: false,
error: null,
- entry: null,
newOwner: 0,
recursive: false,
+ showRecursiveOption: false,
- show: function (entry) {
+ show: function () {
$scope.chownEntry.error = null;
- $scope.chownEntry.entry = entry;
- $scope.chownEntry.newOwner = entry.uid;
+ // set default uid from first file
+ $scope.chownEntry.newOwner = $scope.selected[0].uid;
$scope.chownEntry.busy = false;
// default for directories is recursive
- $scope.chownEntry.recursive = entry.isDirectory;
+ $scope.chownEntry.recursive = !!$scope.selected.find(function (entry) { return entry.isDirectory; });
+ $scope.chownEntry.showRecursiveOption = !!$scope.chownEntry.recursive;
$('#chownEntryModal').modal('show');
},
@@ -687,9 +688,11 @@ app.controller('FileManagerController', ['$scope', '$translate', '$timeout', 'Cl
submit: function () {
$scope.chownEntry.busy = true;
- var filePath = sanitize($scope.cwd + '/' + $scope.chownEntry.entry.fileName);
+ async.eachLimit($scope.selected, 5, function (entry, callback) {
+ var filePath = sanitize($scope.cwd + '/' + entry.fileName);
- Client.filesChown($scope.id, $scope.type, filePath, $scope.chownEntry.newOwner, $scope.chownEntry.recursive, function (error) {
+ Client.filesChown($scope.id, $scope.type, filePath, $scope.chownEntry.newOwner, $scope.chownEntry.recursive, callback);
+ }, function (error) {
$scope.chownEntry.busy = false;
if (error) return Client.error(error);
@@ -824,7 +827,7 @@ app.controller('FileManagerController', ['$scope', '$translate', '$timeout', 'Cl
click: function ($itemScope, $event, entry) { $scope.renameEntry.show(entry); }
}, {
text: tr['filemanager.list.menu.chown'],
- click: function ($itemScope, $event, entry) { $scope.chownEntry.show(entry); }
+ click: function ($itemScope, $event, entry) { $scope.chownEntry.show(); }
}, {
text: tr['filemanager.list.menu.extract'],
displayed: function ($itemScope, $event, entry) { return !entry.isDirectory && isArchive(entry.fileName); },