From d248c85f4caba5a109c38e0535de2fb4c9d36493 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 19 Aug 2025 18:00:16 +0200 Subject: [PATCH] Possibility to disable IMAP migration --- frontend/src/layouts/admin/AdminLayout.vue | 18 +++++++++++------- modoboa/core/utils.py | 3 +++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/frontend/src/layouts/admin/AdminLayout.vue b/frontend/src/layouts/admin/AdminLayout.vue index 321177104..8b775b86b 100644 --- a/frontend/src/layouts/admin/AdminLayout.vue +++ b/frontend/src/layouts/admin/AdminLayout.vue @@ -145,15 +145,19 @@ if (authUser.value.role === constants.SUPER_ADMIN) { let response = await parametersApi.getGlobalApplications() registeredApplications.value = response.data - if (parametersStore.imapMigrationEnabled === null) { - response = await parametersApi.getGlobalApplication('imap_migration') - parametersStore.imapMigrationEnabled = - response.data.params.enabled_imapmigration - } response = await capabilitiesApi.getCapabilities() - isRspamdVisible.value = 'rspamd' in response.data.capabilities + const capabilities = response.data?.capabilities + + if (capabilities.imap_migration) { + if (parametersStore.imapMigrationEnabled === null) { + response = await parametersApi.getGlobalApplication('imap_migration') + parametersStore.imapMigrationEnabled = + response.data.params.enabled_imapmigration + } + } + isRspamdVisible.value = 'rspamd' in capabilities if (isRspamdVisible.value) { - rspamdUrl.value = response.data.capabilities.rspamd.location || '/rspamd' + rspamdUrl.value = capabilities.rspamd.location || '/rspamd' } } diff --git a/modoboa/core/utils.py b/modoboa/core/utils.py index 003f62695..ff6a55015 100644 --- a/modoboa/core/utils.py +++ b/modoboa/core/utils.py @@ -111,4 +111,7 @@ def get_capabilities(): if is_rspamd_installed: rspamd_options = get_rspamd_options() capabilities.update({"rspamd": rspamd_options}) + # IMAP migration + if "modoboa.imap_migration" in settings.MODOBOA_APPS: + capabilities.update({"imap_migration": {}}) return capabilities