Added migrations for the available logos and move old values to new ones, remove old entries in the database
This commit is contained in:
parent
a6ed54eb92
commit
56cdfebe85
66
openslides/core/migrations/0008_changed_logo_fields.py
Normal file
66
openslides/core/migrations/0008_changed_logo_fields.py
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Finn Stutzenstein on 2018-07-13 12:43 :)
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
from openslides.core.config import config
|
||||||
|
|
||||||
|
|
||||||
|
def logos_available_default_to_database(apps, schema_editor):
|
||||||
|
"""
|
||||||
|
Writes the new default value of the 'logos_available' into the database.
|
||||||
|
"""
|
||||||
|
ConfigStore = apps.get_model('core', 'ConfigStore')
|
||||||
|
|
||||||
|
try:
|
||||||
|
logos_available = ConfigStore.objects.get(key='logos_available')
|
||||||
|
except ConfigStore.DoesNotExist:
|
||||||
|
return # The key is not in the database, nothing to change here
|
||||||
|
|
||||||
|
default_value = config.config_variables['logos_available'].default_value
|
||||||
|
logos_available.value = default_value
|
||||||
|
logos_available.save()
|
||||||
|
|
||||||
|
|
||||||
|
def move_old_logo_settings(apps, schema_editor):
|
||||||
|
"""
|
||||||
|
moves the value of 'logo_pdf_header' to 'logo_pdf_header_L' and the same
|
||||||
|
for the footer. The old ones are deleted.
|
||||||
|
"""
|
||||||
|
ConfigStore = apps.get_model('core', 'ConfigStore')
|
||||||
|
|
||||||
|
for place in ('header', 'footer'):
|
||||||
|
try:
|
||||||
|
logo_pdf = ConfigStore.objects.get(key='logo_pdf_{}'.format(place))
|
||||||
|
except ConfigStore.DoesNotExist:
|
||||||
|
continue # The old entry is not in the database, nothing to change here
|
||||||
|
|
||||||
|
# The key of the new entry
|
||||||
|
new_value_key = 'logo_pdf_{}_L'.format(place)
|
||||||
|
try:
|
||||||
|
logo_pdf_L = ConfigStore.objects.get(key=new_value_key)
|
||||||
|
except ConfigStore.DoesNotExist:
|
||||||
|
logo_pdf_L = ConfigStore(key=new_value_key)
|
||||||
|
|
||||||
|
# Move the path to the new configentry
|
||||||
|
logo_pdf_L.value['path'] = logo_pdf.value.get('path', '')
|
||||||
|
# Save the new one, delete the old
|
||||||
|
logo_pdf_L.save()
|
||||||
|
logo_pdf.delete()
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('core', '0007_auto_20180130_1400'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(
|
||||||
|
logos_available_default_to_database
|
||||||
|
),
|
||||||
|
migrations.RunPython(
|
||||||
|
move_old_logo_settings
|
||||||
|
),
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user