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));
|
}).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) {
|
Client.prototype.setGroups = function (userId, groupIds, callback) {
|
||||||
put('/api/v1/users/' + userId + '/groups', { groupIds: groupIds }).success(function (data, status) {
|
put('/api/v1/users/' + userId + '/groups', { groupIds: groupIds }).success(function (data, status) {
|
||||||
if (status !== 204) return callback(new ClientError(status, data));
|
if (status !== 204) return callback(new ClientError(status, data));
|
||||||
@@ -767,39 +760,19 @@ angular.module('Application').service('Client', ['$http', 'md5', 'Notification',
|
|||||||
}).error(defaultErrorHandler(callback));
|
}).error(defaultErrorHandler(callback));
|
||||||
};
|
};
|
||||||
|
|
||||||
Client.prototype.createMailbox = function (name, callback) {
|
Client.prototype.getAliases = function (userId, callback) {
|
||||||
var data = {
|
get('/api/v1/users/' + userId + '/aliases').success(function(data, status) {
|
||||||
name: name
|
if (status !== 200) return callback(new ClientError(status, data));
|
||||||
};
|
callback(null, data.aliases);
|
||||||
|
|
||||||
post('/api/v1/mailboxes', data).success(function(data, status) {
|
|
||||||
if (status !== 201 || typeof data !== 'object') return callback(new ClientError(status, data));
|
|
||||||
callback(null, data);
|
|
||||||
}).error(defaultErrorHandler(callback));
|
}).error(defaultErrorHandler(callback));
|
||||||
};
|
};
|
||||||
|
|
||||||
Client.prototype.removeMailbox = function (name, callback) {
|
Client.prototype.setAliases = function (userId, aliases, 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) {
|
|
||||||
var data = {
|
var data = {
|
||||||
aliases: aliases
|
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));
|
if (status !== 200) return callback(new ClientError(status, data));
|
||||||
callback(null);
|
callback(null);
|
||||||
}).error(defaultErrorHandler(callback));
|
}).error(defaultErrorHandler(callback));
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
|||||||
$scope.groups = [];
|
$scope.groups = [];
|
||||||
$scope.config = Client.getConfig();
|
$scope.config = Client.getConfig();
|
||||||
$scope.userInfo = Client.getUserInfo();
|
$scope.userInfo = Client.getUserInfo();
|
||||||
$scope.mailboxes = [];
|
|
||||||
|
|
||||||
$scope.userremove = {
|
$scope.userremove = {
|
||||||
busy: false,
|
busy: false,
|
||||||
@@ -243,10 +242,12 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
|
|||||||
$scope.useredit.superuser = userInfo.groupIds.indexOf('admin') !== -1;
|
$scope.useredit.superuser = userInfo.groupIds.indexOf('admin') !== -1;
|
||||||
|
|
||||||
$scope.useredit.aliases = '';
|
$scope.useredit.aliases = '';
|
||||||
for (var i = 0; i < $scope.mailboxes.length; i++) {
|
|
||||||
if ($scope.mailboxes[i].name !== userInfo.username) continue;
|
Client.getAliases(userInfo.id, function (error, aliases) {
|
||||||
$scope.useredit.aliases = $scope.mailboxes[i].aliases.join(',');
|
if (error) console.error(error);
|
||||||
}
|
|
||||||
|
$scope.useredit.aliases = aliases.join(',');
|
||||||
|
});
|
||||||
|
|
||||||
$scope.useredit_form.$setPristine();
|
$scope.useredit_form.$setPristine();
|
||||||
$scope.useredit_form.$setUntouched();
|
$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);
|
if (error) return console.error('Unable to update groups for user:', error);
|
||||||
|
|
||||||
var aliases = $scope.useredit.aliases ? $scope.useredit.aliases.split(',') : [ ];
|
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
|
// cannot set aliases without username
|
||||||
if (!$scope.useredit.userInfo.username) setAliasesFunc = function (next) { return next(); };
|
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);
|
if (error) return console.error('Unable to get user listing.', error);
|
||||||
|
|
||||||
$scope.users = result;
|
$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