diff --git a/doc/configuration.rst b/doc/configuration.rst
index 2caff6679..b45ef47e3 100644
--- a/doc/configuration.rst
+++ b/doc/configuration.rst
@@ -193,7 +193,7 @@ Custom logo
===========
You have the possibility to use a custom logo instead of the default
-one on the login page.
+one on the login page and inside generated PDF documents.
To do so, open the :file:`settings.py` file and add a
``MODOBOA_CUSTOM_LOGO`` variable. This variable must contain the
@@ -204,6 +204,18 @@ relative URL of your logo under ``MEDIA_URL``. For example::
Then copy your logo file into the directory indicated by
``MEDIA_ROOT``.
+You can also customize the logo(s) used in the frontend application
+(left menu and creation forms).
+
+To do so, copy the corresponding files inside the frontend directory
+directly (defaults to ``/srv/modoboa/instance/frontend``).
+
+Then, edit the :file:`config.json` file located in this very same
+directory and add the following variables::
+
+ "MENU_LOGO_PATH": "/cusrtom_logo.png",
+ "CREATION_FORM_LOGO_PATH": "/custom_logo2.png"
+
******************
Host configuration
******************
diff --git a/frontend/public/config.json b/frontend/public/config.json
index 752b63e3a..105af1242 100644
--- a/frontend/public/config.json
+++ b/frontend/public/config.json
@@ -5,7 +5,5 @@
"OAUTH_CLIENT_ID": "LVQbfIIX3khWR3nDvix1u9yEGHZUxcx53bhJ7FlD",
"OAUTH_REDIRECT_URI": "/login/logged",
"OAUTH_POST_REDIRECT_URI": "/",
- "HTML_PAGE_TITLE": "Test title",
- "MENU_LOGO_PATH": "/src/assets/Modoboa_RVB-BLANC-SANS.png",
- "CREATION_FORM_LOGO_PATH": "/src/assets/Modoboa_RVB-BLEU-SANS.png"
+ "HTML_PAGE_TITLE": "Test title"
}
diff --git a/frontend/src/components/shared/NavBar.vue b/frontend/src/components/shared/NavBar.vue
index a238a9f0c..3e5115691 100644
--- a/frontend/src/components/shared/NavBar.vue
+++ b/frontend/src/components/shared/NavBar.vue
@@ -8,7 +8,7 @@
>
{
+ if (globalConfig.MENU_LOGO_PATH) {
+ return globalConfig.MENU_LOGO_PATH
+ }
+ const imgUrl = new URL('@/assets/Modoboa_RVB-BLANC-SANS.png', import.meta.url)
+ .href
+ return imgUrl
+})
+
function displayMenuItem(item) {
if (isAuthenticated.value) {
const condition =
@@ -155,3 +164,15 @@ onMounted(() => {
cursor: pointer;
}
+
+
+
+
diff --git a/frontend/src/components/tools/CreationForm.vue b/frontend/src/components/tools/CreationForm.vue
index b112ecf3b..97baaf298 100644
--- a/frontend/src/components/tools/CreationForm.vue
+++ b/frontend/src/components/tools/CreationForm.vue
@@ -7,11 +7,7 @@
>
-
+
import ConfirmDialog from './ConfirmDialog'
import CreationSummary from './CreationSummary.vue'
-import { ref } from 'vue'
+import { computed, ref } from 'vue'
import { useGettext } from 'vue3-gettext'
import { useDisplay } from 'vuetify'
import { useGlobalConfig } from '@/main'
@@ -126,6 +122,15 @@ const currentStep = ref(1)
const working = ref(false)
const confirm = ref()
+const logoPath = computed(() => {
+ if (globalConfig.CREATION_FORM_LOGO_PATH) {
+ return globalConfig.CREATION_FORM_LOGO_PATH
+ }
+ const imgUrl = new URL('@/assets/Modoboa_RVB-BLEU-SANS.png', import.meta.url)
+ .href
+ return imgUrl
+})
+
const emit = defineEmits(['close', 'create', 'validationError'])
const { $gettext } = useGettext()
diff --git a/modoboa/core/management/commands/load_initial_data.py b/modoboa/core/management/commands/load_initial_data.py
index ad5ac6f89..318bd9bbd 100644
--- a/modoboa/core/management/commands/load_initial_data.py
+++ b/modoboa/core/management/commands/load_initial_data.py
@@ -159,12 +159,6 @@ class Command(BaseCommand):
os.path.dirname(__file__), "../../../frontend_dist/"
)
frontend_target_dir = f"{settings.BASE_DIR}/frontend"
- if hasattr(settings, "MODOBOA_CUSTOM_LOGO"):
- menu_logo_path = settings.MODOBOA_CUSTOM_LOGO
- form_logo_path = settings.MODOBOA_CUSTOM_LOGO
- else:
- menu_logo_path = f"{frontend_target_dir}/assets/Modoboa_RVB-BLANC-SANS.png"
- form_logo_path = f"{frontend_target_dir}/assets/Modoboa_RVB-BLEU-SANS.png"
if os.path.isdir(base_frontend_dir):
shutil.rmtree(frontend_target_dir, ignore_errors=True)
os.makedirs(frontend_target_dir, exist_ok=True)
@@ -194,9 +188,7 @@ class Command(BaseCommand):
"OAUTH_AUTHORITY_URL": "{oauth_authority_url}",
"OAUTH_CLIENT_ID": "{client_id}",
"OAUTH_REDIRECT_URI": "{redirect_uri}",
- "OAUTH_POST_REDIRECT_URI": "{oauth_post_logout_redirect_uri}",
- "MENU_LOGO_PATH": "{menu_logo_path}",
- "CREATION_FORM_LOGO_PATH": "{form_logo_path}"
+ "OAUTH_POST_REDIRECT_URI": "{oauth_post_logout_redirect_uri}"
}}
"""
)