diff --git a/frontend/src/api/senderAddresses.js b/frontend/src/api/senderAddresses.js new file mode 100644 index 000000000..a9920152f --- /dev/null +++ b/frontend/src/api/senderAddresses.js @@ -0,0 +1,18 @@ +import repository from './repository' + +const resource = 'senderaddresses' + +export default { + getAll () { + return repository.get(`${resource}/`) + }, + getAllForMailbox (mailboxId) { + return repository.get(`${resource}/`, { params: { mailbox: mailboxId } }) + }, + create (data) { + return repository.post(`${resource}/`, data) + }, + delete (addressId) { + return repository.delete(`${resource}/${addressId}/`) + } +} diff --git a/frontend/src/components/identities/AccountForm.vue b/frontend/src/components/identities/AccountForm.vue index a08cd36ad..c56e7c477 100644 --- a/frontend/src/components/identities/AccountForm.vue +++ b/frontend/src/components/identities/AccountForm.vue @@ -98,7 +98,9 @@ - + @@ -183,6 +185,9 @@ export default { if (this.$refs.resourcesForm !== undefined) { data.resources = this.$refs.resourcesForm.getPayload() } + if (data.aliases === null) { + delete data.aliases + } await accounts.patch(this.editedAccount.pk, data).then(resp => { bus.$emit('notification', { msg: this.$gettext('Account updated') }) }) diff --git a/frontend/src/components/identities/AccountSenderAddresses.vue b/frontend/src/components/identities/AccountSenderAddresses.vue new file mode 100644 index 000000000..9875eb4ed --- /dev/null +++ b/frontend/src/components/identities/AccountSenderAddresses.vue @@ -0,0 +1,103 @@ + + + diff --git a/frontend/src/views/identities/Account.vue b/frontend/src/views/identities/Account.vue index 504d12156..0b0bda935 100644 --- a/frontend/src/views/identities/Account.vue +++ b/frontend/src/views/identities/Account.vue @@ -12,10 +12,15 @@ + @@ -29,6 +34,7 @@