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