77 lines
3.2 KiB
Python
77 lines
3.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
from django.db import models, migrations
|
|
|
|
def migrate_activeitems_cells(apps, schema_editor):
|
|
InvoicesCell = apps.get_model('lingo', 'InvoicesCell')
|
|
Page = apps.get_model('data', 'Page')
|
|
ActiveItems = apps.get_model('lingo', 'ActiveItems')
|
|
for cell in ActiveItems.objects.all():
|
|
page = Page.objects.get(pk=cell.page_id)
|
|
InvoicesCell.objects.get_or_create(order=cell.order,
|
|
page=page, placeholder=cell.placeholder,
|
|
public=cell.public, regie=cell.regie,
|
|
restricted_to_unlogged=cell.restricted_to_unlogged,
|
|
slug=cell.slug, text=cell.text, title=cell.title,
|
|
categories='active'
|
|
)
|
|
cell.delete()
|
|
|
|
def migrate_itemshistory_cells(apps, schema_editor):
|
|
InvoicesCell = apps.get_model('lingo', 'InvoicesCell')
|
|
Page = apps.get_model('data', 'Page')
|
|
ItemsHistory = apps.get_model('lingo', 'ItemsHistory')
|
|
for cell in ItemsHistory.objects.all():
|
|
page = Page.objects.get(pk=cell.page_id)
|
|
InvoicesCell.objects.get_or_create(order=cell.order,
|
|
page=page, placeholder=cell.placeholder,
|
|
public=cell.public, regie=cell.regie,
|
|
restricted_to_unlogged=cell.restricted_to_unlogged,
|
|
slug=cell.slug, text=cell.text, title=cell.title,
|
|
categories='past'
|
|
)
|
|
cell.delete()
|
|
|
|
def restore_activeitems_cells(apps, schema_editor):
|
|
InvoicesCell = apps.get_model('lingo', 'InvoicesCell')
|
|
Page = apps.get_model('data', 'Page')
|
|
ActiveItems = apps.get_model('lingo', 'ActiveItems')
|
|
for cell in InvoicesCell.objects.filter(categories__contains='active'):
|
|
page = Page.objects.get(pk=cell.page_id)
|
|
ActiveItems.objects.get_or_create(order=cell.order,
|
|
page=page, placeholder=cell.placeholder,
|
|
public=cell.public, regie=cell.regie,
|
|
restricted_to_unlogged=cell.restricted_to_unlogged,
|
|
slug=cell.slug, text=cell.text, title=cell.title
|
|
)
|
|
cell.delete()
|
|
|
|
def restore_itemshistory_cells(apps, schema_editor):
|
|
InvoicesCell = apps.get_model('lingo', 'InvoicesCell')
|
|
Page = apps.get_model('data', 'Page')
|
|
ItemsHistory = apps.get_model('lingo', 'ItemsHistory')
|
|
for cell in InvoicesCell.objects.filter(categories__contains='past'):
|
|
page = Page.objects.get(pk=cell.page_id)
|
|
ItemsHistory.objects.get_or_create(order=cell.order,
|
|
page=page, placeholder=cell.placeholder,
|
|
public=cell.public, regie=cell.regie,
|
|
restricted_to_unlogged=cell.restricted_to_unlogged,
|
|
slug=cell.slug, text=cell.text, title=cell.title
|
|
)
|
|
cell.delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('lingo', '0018_invoicescell'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(migrate_activeitems_cells,
|
|
restore_activeitems_cells),
|
|
migrations.RunPython(migrate_itemshistory_cells,
|
|
restore_itemshistory_cells)
|
|
]
|