Added logo and font migrations

This commit is contained in:
FinnStutzenstein 2019-07-19 12:39:24 +02:00
parent 450819c035
commit e9ef293cf7

View File

@ -1,14 +1,39 @@
# Generated by Django 2.2.2 on 2019-06-28 06:09 # Generated by Django 2.2.2 on 2019-06-28 06:09
import os.path import os.path
from typing import List
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.db import migrations from django.db import migrations
def change_logo_and_font_configs(apps, schema_editor):
"""
All old paths with "/media/file/..." will be replaced with "/media/...".
"""
ConfigStore = apps.get_model("core", "ConfigStore")
logo_font_keys: List[str] = []
try:
logo_font_keys.extend(ConfigStore.objects.get(key="logos_available").value)
logo_font_keys.extend(ConfigStore.objects.get(key="fonts_available").value)
except ConfigStore.DoesNotExist:
pass
for key in logo_font_keys:
config = ConfigStore.objects.get(key=key)
logo = config.value
path = logo.get("path")
if path and path.startswith("/media/file/"):
logo["path"] = path.replace("/media/file/", "/media/", 1)
config.value = logo
config.save()
def copy_filename(apps, schema_editor): def copy_filename(apps, schema_editor):
Mediafile = apps.get_model("mediafiles", "Mediafile") Mediafile = apps.get_model("mediafiles", "Mediafile")
for mediafile in Mediafile.objects.all(): for mediafile in Mediafile.objects.all():
filename = os.path.basename(mediafile.mediafile.name) filename = os.path.basename(mediafile.mediafile.name)
mediafile.original_filename = filename mediafile.original_filename = filename
@ -41,6 +66,7 @@ class Migration(migrations.Migration):
dependencies = [("mediafiles", "0004_directories_and_permissions_1")] dependencies = [("mediafiles", "0004_directories_and_permissions_1")]
operations = [ operations = [
migrations.RunPython(change_logo_and_font_configs),
migrations.RunPython(copy_filename), migrations.RunPython(copy_filename),
migrations.RunPython(set_groups_and_delete_old_permissions), migrations.RunPython(set_groups_and_delete_old_permissions),
] ]