From d5bcc1dfee26d9976c5a978f6dc09e97f7905616 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sat, 23 Oct 2021 13:41:51 +0200
Subject: [PATCH] Move favicon files to the public directory to make them
 accessible without a titofisto token

---
 .../core/migrations/0021_public_favicon.py    | 27 +++++++++++++++++++
 aleksis/core/settings.py                      |  1 +
 2 files changed, 28 insertions(+)
 create mode 100644 aleksis/core/migrations/0021_public_favicon.py

diff --git a/aleksis/core/migrations/0021_public_favicon.py b/aleksis/core/migrations/0021_public_favicon.py
new file mode 100644
index 000000000..d8e9cb8cb
--- /dev/null
+++ b/aleksis/core/migrations/0021_public_favicon.py
@@ -0,0 +1,27 @@
+# Generated by Django 3.2.4 on 2021-07-24 13:14
+import os
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('core', '0020_pdf_file_person_optional'),
+    ]
+
+    def _migrate_favicons(apps, schema_editor):
+        FaviconImg = apps.get_model('favicon', "FaviconImg")
+        for favicon_img in FaviconImg.objects.all():
+            old_name = favicon_img.faviconImage.name
+            new_name = os.path.join("public", old_name)
+            storage = favicon_img.faviconImage.storage
+            if storage.exists(old_name):
+                storage.save(new_name, favicon_img.faviconImage.file)
+                favicon_img.faviconImage.name = new_name
+                favicon_img.save()
+
+    operations = [
+        migrations.RunPython(_migrate_favicons)
+    ]
diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index 78887d34f..10ce06dbb 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -635,6 +635,7 @@ PWA_ICONS_CONFIG = {
     "apple_splash": [192],
     "microsoft": [144],
 }
+FAVICON_PATH = os.path.join("public", "favicon")
 
 SERVICE_WORKER_PATH = os.path.join(STATIC_ROOT, "js", "serviceworker.js")
 
-- 
GitLab