feat(mail): handle multiple mail identities

Fixes #768, fixes #4602
This commit is contained in:
Francis Lachapelle
2020-06-18 16:53:42 -04:00
parent 2651b5aa9d
commit f8aa338e64
24 changed files with 605 additions and 426 deletions
@@ -98,28 +98,25 @@
};
this.addMailAccount = function(ev, form) {
var account;
var account, index;
this.preferences.defaults.AuxiliaryMailAccounts.push({});
account = _.last(this.preferences.defaults.AuxiliaryMailAccounts);
angular.extend(account,
{
isNew: true,
name: "",
identities: [
{
fullName: "",
email: ""
}
],
receipts: {
receiptAction: "ignore",
receiptNonRecipientAction: "ignore",
receiptOutsideDomainAction: "ignore",
receiptAnyAction: "ignore"
}
});
account = new Account({
isNew: true,
name: "",
identities: [
{
fullName: "",
email: ""
}
],
receipts: {
receiptAction: "ignore",
receiptNonRecipientAction: "ignore",
receiptOutsideDomainAction: "ignore",
receiptAnyAction: "ignore"
}
});
index = this.preferences.defaults.AuxiliaryMailAccounts.length;
$mdDialog.show({
controller: 'AccountDialogController',
@@ -133,14 +130,13 @@
mailCustomFromEnabled: $window.mailCustomFromEnabled
}
}).then(function() {
vm.preferences.defaults.AuxiliaryMailAccounts.push(account.$omit());
form.$setDirty();
}).catch(function() {
vm.preferences.defaults.AuxiliaryMailAccounts.pop();
});
};
this.editMailAccount = function(event, index, form) {
var account = this.preferences.defaults.AuxiliaryMailAccounts[index];
var account = new Account(this.preferences.defaults.AuxiliaryMailAccounts[index]);
$mdDialog.show({
controller: 'AccountDialogController',
controllerAs: '$AccountDialogController',
@@ -153,10 +149,8 @@
mailCustomFromEnabled: $window.mailCustomFromEnabled
}
}).then(function() {
vm.preferences.defaults.AuxiliaryMailAccounts[index] = account;
vm.preferences.defaults.AuxiliaryMailAccounts[index] = account.$omit();
form.$setDirty();
}, function() {
// Cancel
});
};