Fix angular code to match new mailbox aliases API
This commit is contained in:
@@ -523,13 +523,6 @@ angular.module('Application').service('Client', ['$http', 'md5', 'Notification',
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.getMailboxes = function (callback) {
|
||||
get('/api/v1/mailboxes').success(function (data, status) {
|
||||
if (status !== 200 || typeof data !== 'object') return callback(new ClientError(status, data));
|
||||
callback(null, data.mailboxes);
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.setGroups = function (userId, groupIds, callback) {
|
||||
put('/api/v1/users/' + userId + '/groups', { groupIds: groupIds }).success(function (data, status) {
|
||||
if (status !== 204) return callback(new ClientError(status, data));
|
||||
@@ -767,39 +760,19 @@ angular.module('Application').service('Client', ['$http', 'md5', 'Notification',
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.createMailbox = function (name, callback) {
|
||||
var data = {
|
||||
name: name
|
||||
};
|
||||
|
||||
post('/api/v1/mailboxes', data).success(function(data, status) {
|
||||
if (status !== 201 || typeof data !== 'object') return callback(new ClientError(status, data));
|
||||
callback(null, data);
|
||||
Client.prototype.getAliases = function (userId, callback) {
|
||||
get('/api/v1/users/' + userId + '/aliases').success(function(data, status) {
|
||||
if (status !== 200) return callback(new ClientError(status, data));
|
||||
callback(null, data.aliases);
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.removeMailbox = function (name, callback) {
|
||||
var config = {
|
||||
data: {
|
||||
name: name
|
||||
},
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
};
|
||||
|
||||
del('/api/v1/mailboxes/' + name, config).success(function(data, status) {
|
||||
if (status !== 204) return callback(new ClientError(status, data));
|
||||
callback(null);
|
||||
}).error(defaultErrorHandler(callback));
|
||||
};
|
||||
|
||||
Client.prototype.setAliases = function (name, aliases, callback) {
|
||||
Client.prototype.setAliases = function (userId, aliases, callback) {
|
||||
var data = {
|
||||
aliases: aliases
|
||||
};
|
||||
|
||||
put('/api/v1/mailboxes/' + name + '/aliases', data).success(function(data, status) {
|
||||
put('/api/v1/users/' + userId + '/aliases', data).success(function(data, status) {
|
||||
if (status !== 200) return callback(new ClientError(status, data));
|
||||
callback(null);
|
||||
}).error(defaultErrorHandler(callback));
|
||||
|
||||
@@ -8,7 +8,6 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
||||
$scope.groups = [];
|
||||
$scope.config = Client.getConfig();
|
||||
$scope.userInfo = Client.getUserInfo();
|
||||
$scope.mailboxes = [];
|
||||
|
||||
$scope.userremove = {
|
||||
busy: false,
|
||||
@@ -243,10 +242,12 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
||||
$scope.useredit.superuser = userInfo.groupIds.indexOf('admin') !== -1;
|
||||
|
||||
$scope.useredit.aliases = '';
|
||||
for (var i = 0; i < $scope.mailboxes.length; i++) {
|
||||
if ($scope.mailboxes[i].name !== userInfo.username) continue;
|
||||
$scope.useredit.aliases = $scope.mailboxes[i].aliases.join(',');
|
||||
}
|
||||
|
||||
Client.getAliases(userInfo.id, function (error, aliases) {
|
||||
if (error) console.error(error);
|
||||
|
||||
$scope.useredit.aliases = aliases.join(',');
|
||||
});
|
||||
|
||||
$scope.useredit_form.$setPristine();
|
||||
$scope.useredit_form.$setUntouched();
|
||||
@@ -288,7 +289,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
||||
if (error) return console.error('Unable to update groups for user:', error);
|
||||
|
||||
var aliases = $scope.useredit.aliases ? $scope.useredit.aliases.split(',') : [ ];
|
||||
var setAliasesFunc = Client.setAliases.bind(null, $scope.useredit.userInfo.username, aliases);
|
||||
var setAliasesFunc = Client.setAliases.bind(null, $scope.useredit.userInfo.id, aliases);
|
||||
|
||||
// cannot set aliases without username
|
||||
if (!$scope.useredit.userInfo.username) setAliasesFunc = function (next) { return next(); };
|
||||
@@ -377,14 +378,6 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
||||
if (error) return console.error('Unable to get user listing.', error);
|
||||
|
||||
$scope.users = result;
|
||||
|
||||
Client.getMailboxes(function (error, result) {
|
||||
if (error) return console.error('Unable to get mailboxes.', error);
|
||||
|
||||
$scope.mailboxes = result;
|
||||
|
||||
$scope.ready = true;
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user