diff --git a/src/views/users.html b/src/views/users.html index e603d7958..cb33255d2 100644 --- a/src/views/users.html +++ b/src/views/users.html @@ -596,8 +596,16 @@ {{ 'users.newUserAction' | tr }}
- - + +
+ + +
diff --git a/src/views/users.js b/src/views/users.js index 91198f248..2da4d5130 100644 --- a/src/views/users.js +++ b/src/views/users.js @@ -184,14 +184,20 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio } }; - $scope.userExport = function () { + // supported types are 'json' and 'csv' + $scope.userExport = function (type) { Client.getUsers(function (error, result) { if (error) { Client.error('Failed to list users. Full error in the webinspector.'); return console.error('Failed to list users.', error); } - var file = new Blob([ JSON.stringify(result, null, 2) ], { type: 'application/json' }); + var content = ''; + if (type === 'json') content = JSON.stringify(result, null, 2); + else if (type === 'csv') content = result.map(function (user) { return `${user.id},${user.username},${user.email},${user.displayName}`; }).join('\n'); + else return; + + var file = new Blob([ content ], { type: 'application/json' }); var a = document.createElement('a'); a.href = URL.createObjectURL(file); a.download = 'users.json';