mail: fix catchall ui

This commit is contained in:
Girish Ramakrishnan
2022-09-28 22:10:43 +02:00
parent dd2fbf820a
commit 3cd3740f92
2 changed files with 9 additions and 4 deletions
+8 -3
View File
@@ -84,6 +84,7 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
refresh: function () {
var allMailboxes = [];
async.eachSeries($scope.incomingDomains, function (domain, iteratorDone) {
Client.listMailboxes(domain.domain, '', 1, 1000, function (error, result) {
if (error) return console.error(error);
@@ -95,10 +96,13 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
}, function () {
$scope.catchall.availableMailboxes = allMailboxes;
console.log($scope.domain.mailConfig.catchAll);
$scope.catchall.mailboxes = $scope.domain.mailConfig.catchAll.map(function (address) {
const parts = address.split('@');
return $scope.catchall.availableMailboxes.find(function (m) { return m.name === parts[0] && m.domain === parts[1]; });
return allMailboxes.find(function (m) { return m.display === address; });
}).filter(function (m) { return !!m; }); // remove not found addresses
console.log($scope.catchall.mailboxes);
});
}
};
@@ -1021,7 +1025,6 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
$scope.domain = result.filter(function (d) { return d.domain === domainName; })[0];
$scope.adminDomain = result.filter(function (d) { return d.domain === $scope.config.adminDomain; })[0];
$scope.refreshDomain();
async.eachSeries(result, function (domain, iteratorDone) {
Client.getMailConfigForDomain(domain.domain, function (error, mailConfig) {
@@ -1033,6 +1036,8 @@ angular.module('Application').controller('EmailController', ['$scope', '$locatio
}, function iteratorDone(error) {
if (error) return console.error(error);
$scope.refreshDomain(); // this calls catchall.refresh() which in turn relies on incomingDomains
$scope.setView($routeParams.view || 'mailboxes', true /* always set */);
$scope.ready = true;
});