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';