diff --git a/dashboard/src/views/email.html b/dashboard/src/views/email.html
index 8fcb60e28..2d93e4b74 100644
--- a/dashboard/src/views/email.html
+++ b/dashboard/src/views/email.html
@@ -23,6 +23,38 @@
+
+
@@ -171,6 +203,7 @@
+
|
diff --git a/dashboard/src/views/email.js b/dashboard/src/views/email.js
index df228b1bd..ce94df669 100644
--- a/dashboard/src/views/email.js
+++ b/dashboard/src/views/email.js
@@ -204,6 +204,47 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
}
},
+ edit: {
+ busy: false,
+ error: null,
+ mailbox: null,
+
+ show: function (mailbox) {
+ $scope.mailboxes.edit.mailbox = mailbox;
+
+ $('#mailboxEditModal').modal('show');
+ },
+
+ submit: function () {
+ $scope.mailboxes.remove.busy = true;
+
+ Client.updateMailbox($scope.selectedDomain.domain, $scope.mailboxes.edit.mailbox.name, $scope.mailboxes.edit.mailbox.owner.id, function (error) {
+ if (error) {
+ $scope.mailboxes.edit.error = error;
+ $scope.mailboxes.edit.busy = false;
+ return;
+ }
+
+ var aliases = $scope.mailboxes.edit.mailbox.aliases.split(',').map(function (a) { return a.trim(); }).filter(function (a) { return !!a; });
+
+ Client.setAliases($scope.selectedDomain.domain, $scope.mailboxes.edit.mailbox.name, aliases, function (error) {
+ if (error) {
+ $scope.mailboxes.edit.error = error;
+ $scope.mailboxes.edit.busy = false;
+ return;
+ }
+
+ $scope.mailboxes.edit.busy = false;
+ $scope.mailboxes.edit.error = null;
+ $scope.mailboxes.edit.mailbox = null;
+ $scope.mailboxes.refresh();
+
+ $('#mailboxEditModal').modal('hide');
+ });
+ });
+ }
+ },
+
remove: {
busy: false,
mailbox: null,