diff --git a/dashboard/src/views/email.html b/dashboard/src/views/email.html
index 4077efb45..e9fb65054 100644
--- a/dashboard/src/views/email.html
+++ b/dashboard/src/views/email.html
@@ -131,12 +131,12 @@
|
-
+ |
{{ mailbox.error }}
|
-
+
|
diff --git a/dashboard/src/views/email.js b/dashboard/src/views/email.js
index 1ae45ff0f..8a10b1b18 100644
--- a/dashboard/src/views/email.js
+++ b/dashboard/src/views/email.js
@@ -158,7 +158,7 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
if (error) return console.error(error);
$scope.mailboxes.mailboxes = mailboxes.map(function (m) {
- m.aliases = aliases.filter(function (a) { return a.ownerId === m.id; }).map(function (a) { return a.name; }).join(',');
+ m.aliases = aliases.filter(function (a) { return a.aliasTarget === m.name; }).map(function (a) { return a.name; }).join(',');
m.owner = $scope.users.find(function (u) { return u.id === m.ownerId; });
m.orig = {};
@@ -171,21 +171,21 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
});
},
- submit: function (user) {
- user.busy = true;
- user.error ='';
+ submit: function (mailbox) {
+ mailbox.busy = true;
+ mailbox.error ='';
- var aliases = user.aliases.split(',').map(function (a) { return a.trim(); }).filter(function (a) { return !!a; });
+ var aliases = mailbox.aliases.split(',').map(function (a) { return a.trim(); }).filter(function (a) { return !!a; });
function done(error) {
- user.busy = false;
+ mailbox.busy = false;
if (error && error.statusCode === 409) {
var alias = error.message.match(RegExp('\'(.*)-' + $scope.selectedDomain.domain + '\''))[1];
- user.error = alias + '@' + $scope.selectedDomain.domain + ' already exists';
+ mailbox.error = alias + '@' + $scope.selectedDomain.domain + ' already exists';
return;
} else if (error && error.statusCode === 400) {
- user.error = error.message;
+ mailbox.error = error.message;
return;
} else if (error) {
console.error('Unable to configure mailbox.', error);
@@ -193,16 +193,14 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
}
// reset the dirty state
- user.orig.mailboxEnabled = user.mailboxEnabled;
- user.orig.aliases = user.aliases;
+ mailbox.orig.aliases = mailbox.aliases;
+ mailbox.orig.owner = mailbox.owner;
}
- var func = user.mailboxEnabled ? Client.enableUserMailbox : Client.disableUserMailbox;
- func($scope.selectedDomain.domain, user.id, function (error) {
+ Client.updateMailbox($scope.selectedDomain.domain, mailbox.name, mailbox.owner.id, function (error) {
if (error) return done(error);
- if (user.mailboxEnabled) Client.setAliases($scope.selectedDomain.domain, user.id, aliases, done);
- else done();
+ Client.setAliases($scope.selectedDomain.domain, mailbox.name, aliases, done);
});
}
};