From bd0146e41f52f7812ff8f0f3cf6a500ac3bef4d1 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Fri, 8 Apr 2022 10:47:25 +0200 Subject: [PATCH] Added support for sender addresses --- frontend/src/api/senderAddresses.js | 18 +++ .../src/components/identities/AccountForm.vue | 7 +- .../identities/AccountSenderAddresses.vue | 103 ++++++++++++++++++ frontend/src/views/identities/Account.vue | 9 +- modoboa/admin/api/v1/viewsets.py | 10 ++ modoboa/admin/models/alias.py | 2 +- modoboa/limits/handlers.py | 1 + 7 files changed, 147 insertions(+), 3 deletions(-) create mode 100644 frontend/src/api/senderAddresses.js create mode 100644 frontend/src/components/identities/AccountSenderAddresses.vue 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 @@