From dd362462ce4f392d3954f3f7d8875923e1c47da6 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 8 May 2025 16:40:31 +0200 Subject: [PATCH] Various improvements --- frontend/src/api/webmail.js | 12 +- .../src/components/tools/ParametersForm.vue | 19 ++ .../src/components/webmail/BodyEditor.vue | 16 +- .../components/webmail/ComposeEmailForm.vue | 21 ++- frontend/src/components/webmail/EmailList.vue | 27 ++- .../src/components/webmail/MailboxList.vue | 34 +++- .../src/layouts/account/AccountLayout.vue | 1 + .../src/layouts/webmail/WebmailLayout.vue | 30 +-- frontend/src/stores/bus.store.js | 16 ++ frontend/src/views/webmail/EmailView.vue | 20 +- modoboa/parameters/tools.py | 6 +- modoboa/sievefilters/api/v2/vloaders.py | 6 +- modoboa/webmail/app_settings.py | 8 +- modoboa/webmail/lib/imapemail.py | 4 + modoboa/webmail/lib/imaputils.py | 17 +- modoboa/webmail/lib/sendmail.py | 25 +-- modoboa/webmail/lib/signature.py | 6 +- modoboa/webmail/lib/utils.py | 23 +++ modoboa/webmail/mocks.py | 2 +- modoboa/webmail/serializers.py | 17 +- modoboa/webmail/tests/test_viewsets.py | 20 +- modoboa/webmail/viewsets.py | 175 ++++++++++-------- 22 files changed, 340 insertions(+), 165 deletions(-) diff --git a/frontend/src/api/webmail.js b/frontend/src/api/webmail.js index 1aaf56849..249686b9a 100644 --- a/frontend/src/api/webmail.js +++ b/frontend/src/api/webmail.js @@ -12,6 +12,10 @@ export default { const params = { mailbox } return repository.get('/webmail/mailboxes/quota/', { params }) }, + getUserMailboxUnseen(mailbox) { + const params = { mailbox } + return repository.get('webmail/mailboxes/unseen/', { params }) + }, createUserMailbox(body) { return repository.post('/webmail/mailboxes/', body) }, @@ -93,17 +97,15 @@ export default { sendEmail(body) { return repository.post('/webmail/emails/send/', body) }, + getComposeSession(uid) { + return repository.get(`/webmail/compose-sessions/${uid}/`) + }, createComposeSession() { return repository.post('/webmail/compose-sessions/') }, getAllowedSenders() { return repository.get('/webmail/compose-sessions/allowed_senders/') }, - getUploadedAttachments(sessionUid) { - return repository.get( - `/webmail/compose-sessions/${sessionUid}/attachments/` - ) - }, uploadAttachment(sessionUid, body) { return repository.post( `/webmail/compose-sessions/${sessionUid}/attachments/`, diff --git a/frontend/src/components/tools/ParametersForm.vue b/frontend/src/components/tools/ParametersForm.vue index c0b1e5ff3..2c4d14ab6 100644 --- a/frontend/src/components/tools/ParametersForm.vue +++ b/frontend/src/components/tools/ParametersForm.vue @@ -50,6 +50,24 @@ density="compact" variant="outlined" /> + + + diff --git a/frontend/src/components/webmail/ComposeEmailForm.vue b/frontend/src/components/webmail/ComposeEmailForm.vue index de3334453..73d74b29f 100644 --- a/frontend/src/components/webmail/ComposeEmailForm.vue +++ b/frontend/src/components/webmail/ComposeEmailForm.vue @@ -148,6 +148,7 @@ @@ -161,7 +162,7 @@