From f690dc2c211147451aa8da51f599a91d3a98b9f1 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 26 Jul 2021 13:33:12 +0200
Subject: [PATCH] Use BASE_URL for PDF generation instead of own preference

---
 aleksis/core/preferences.py | 15 ---------------
 aleksis/core/util/pdf.py    |  7 +++----
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/aleksis/core/preferences.py b/aleksis/core/preferences.py
index 0cf1618c8..588992f60 100644
--- a/aleksis/core/preferences.py
+++ b/aleksis/core/preferences.py
@@ -1,5 +1,4 @@
 from django.conf import settings
-from django.core.validators import URLValidator
 from django.forms import EmailField, ImageField, URLField
 from django.forms.widgets import SelectMultiple
 from django.utils.translation import gettext_lazy as _
@@ -53,20 +52,6 @@ class SiteDescription(StringPreference):
     verbose_name = _("Site description")
 
 
-@site_preferences_registry.register
-class PDFURL(StringPreference):
-    """URL which should be used as base for PDF printing."""
-
-    section = general
-    name = "pdf_url"
-    default = ""
-    required = False
-    verbose_name = _("PDF URL")
-    help_text = _("This URL is used for PDF printing.")
-
-    field_kwargs = {"validators": [URLValidator()]}
-
-
 @site_preferences_registry.register
 class ColourPrimary(StringPreference):
     """Primary colour in AlekSIS frontend."""
diff --git a/aleksis/core/util/pdf.py b/aleksis/core/util/pdf.py
index 88730ebfe..3f27680d9 100644
--- a/aleksis/core/util/pdf.py
+++ b/aleksis/core/util/pdf.py
@@ -4,6 +4,7 @@ from tempfile import TemporaryDirectory
 from typing import Optional, Tuple
 from urllib.parse import urljoin
 
+from django.conf import settings
 from django.core.files import File
 from django.core.files.base import ContentFile
 from django.http.request import HttpRequest
@@ -21,7 +22,6 @@ from celery_progress.backend import ProgressRecorder
 from aleksis.core.celery import app
 from aleksis.core.models import PDFFile
 from aleksis.core.util.celery_progress import recorded_task, render_progress_page
-from aleksis.core.util.core_helpers import get_site_preferences
 
 
 @recorded_task
@@ -76,12 +76,11 @@ def generate_pdf_from_template(
     file_object = PDFFile.objects.create(html_file=ContentFile(html_template, name="source.html"))
 
     # As this method may be run in background and there is no request available,
-    # we have to use a predefined URL from preferences then
+    # we have to use a predefined URL from settings then
     if request:
         html_url = request.build_absolute_uri(file_object.html_file.url)
     else:
-        pdf_base_url = get_site_preferences()["general__pdf_url"]
-        html_url = urljoin(pdf_base_url, file_object.html_file.url)
+        html_url = urljoin(settings.BASE_URL, file_object.html_file.url)
 
     result = generate_pdf.delay(file_object.pk, html_url, lang=get_language())
 
-- 
GitLab