Files
cloudron-box/webadmin/views/userlist.js
T
2014-08-26 11:03:33 -07:00

55 lines
1.4 KiB
JavaScript

/* global $:true */
'use strict';
function UserListController ($scope, Client) {
$scope.ready = false;
$scope.users = [];
$scope.userInfo = Client.getUserInfo();
$scope.userDeleteForm = {
username: '',
password: ''
};
$scope.isMe = function (user) {
return user.username === Client.getUserInfo().username;
};
$scope.isAdmin = function (user) {
return !!user.admin;
};
$scope.toggleAdmin = function (user) {
user.admin = !user.admin;
};
$scope.deleteUser = function (user) {
// TODO add busy indicator and block form
if ($scope.userDeleteForm.username !== user.username) return console.error('Username does not match');
Client.removeUser(user.username, $scope.userDeleteForm.password, function (error, result) {
if (error && error.statusCode === 401) return console.error('Wrong password');
if (error) return console.error('Unable to delete user.', error);
$('#userDeleteModal-' + user.username).modal('hide');
refresh();
});
};
function refresh() {
Client.listUsers(function (error, result) {
if (error) return console.error('Unable to get user listing.', error);
$scope.users = result.users;
$scope.ready = true;
});
}
$scope.addUser = function () {
window.location.href = '#/usercreate';
};
refresh();
}