From f278c30cfbed46cab716fd84f82f5cc5eeb20dd7 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 28 Nov 2024 07:54:56 -0800 Subject: [PATCH] Fix: include subpath in logo url --- src/documents/tests/test_views.py | 22 ++++++++++++++++++++++ src/paperless/config.py | 6 +++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/documents/tests/test_views.py b/src/documents/tests/test_views.py index ca1db5782..9f52a6aa4 100644 --- a/src/documents/tests/test_views.py +++ b/src/documents/tests/test_views.py @@ -6,12 +6,14 @@ from django.conf import settings from django.contrib.auth.models import Permission from django.contrib.auth.models import User from django.test import TestCase +from django.test import override_settings from django.utils import timezone from rest_framework import status from documents.models import Document from documents.models import ShareLink from documents.tests.utils import DirectoriesMixin +from paperless.models import ApplicationConfiguration class TestViews(DirectoriesMixin, TestCase): @@ -67,6 +69,26 @@ class TestViews(DirectoriesMixin, TestCase): f"frontend/{language_actual}/main.js", ) + @override_settings(BASE_URL="/paperless/") + def test_index_app_logo_with_base_url(self): + """ + GIVEN: + - Existing config with app_logo specified + WHEN: + - Index page is loaded + THEN: + - app_logo is prefixed with BASE_URL + """ + config = ApplicationConfiguration.objects.first() + config.app_logo = "/logo/example.jpg" + config.save() + self.client.force_login(self.user) + response = self.client.get("/") + self.assertEqual( + response.context["APP_LOGO"], + f"/paperless{config.app_logo}", + ) + def test_share_link_views(self): """ GIVEN: diff --git a/src/paperless/config.py b/src/paperless/config.py index 8a40fc6c6..b0bd77910 100644 --- a/src/paperless/config.py +++ b/src/paperless/config.py @@ -113,4 +113,8 @@ class GeneralConfig(BaseConfig): app_config = self._get_config_instance() self.app_title = app_config.app_title or None - self.app_logo = app_config.app_logo.url if app_config.app_logo else None + self.app_logo = ( + settings.BASE_URL + app_config.app_logo.url.lstrip("/") + if app_config.app_logo + else None + )