Skip to content
Snippets Groups Projects
Commit f0bc11a9 authored by Sébastiaan Versteeg's avatar Sébastiaan Versteeg
Browse files

Make NewsletterContent non-abstract

parent 1732593e
No related branches found
No related tags found
1 merge request!298Order newsletter items
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2016-12-14 19:49
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import tinymce.models
def migrate_event_to_content(apps, schema_editor):
NewsletterContent = apps.get_model("newsletters", "NewsletterContent")
NewsletterEvent = apps.get_model("newsletters", "NewsletterEvent")
events = NewsletterEvent.objects.all()
for event in events:
content = NewsletterContent(
title_en=event.title_en,
title_nl=event.title_nl,
description_en=event.description_en,
description_nl=event.description_nl,
newsletter_id=event.newsletter_id
)
content.save()
event.newslettercontent_ptr = content
event.save()
def migrate_item_to_content(apps, schema_editor):
NewsletterContent = apps.get_model("newsletters", "NewsletterContent")
NewsletterItem = apps.get_model("newsletters", "NewsletterItem")
items = NewsletterItem.objects.all()
for item in items:
content = NewsletterContent(
title_en=item.title_en,
title_nl=item.title_nl,
description_en=item.description_en,
description_nl=item.description_nl,
newsletter_id=item.newsletter_id
)
content.save()
item.newslettercontent_ptr = content
item.save()
def migrate_content_to_event(apps, schema_editor):
NewsletterContent = apps.get_model("newsletters", "NewsletterContent")
contents = NewsletterContent.objects.all()
for content in contents:
item = content.newsletterevent
item.title_en = content.title_en
item.title_nl = content.title_nl
item.description_en = content.description_en
item.description_nl = content.description_nl
item.save()
def migrate_content_to_item(apps, schema_editor):
NewsletterContent = apps.get_model("newsletters", "NewsletterContent")
contents = NewsletterContent.objects.all()
for content in contents:
item = content.newsletteritem
item.title_en = content.title_en
item.title_nl = content.title_nl
item.description_en = content.description_en
item.description_nl = content.description_nl
item.save()
class Migration(migrations.Migration):
dependencies = [
('newsletters', '0005_merge_20161214_2018'),
]
operations = [
migrations.CreateModel(
name='NewsletterContent',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('description_en',
tinymce.models.HTMLField(verbose_name='Description (EN)')),
('description_nl',
tinymce.models.HTMLField(verbose_name='Description (NL)')),
('title_en',
models.CharField(max_length=150, verbose_name='Title (EN)')),
('title_nl',
models.CharField(max_length=150, verbose_name='Title (NL)')),
('newsletter',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
to='newsletters.Newsletter')),
],
),
migrations.AddField(
model_name='newsletterevent',
name='newslettercontent_ptr',
field=models.ForeignKey(default=1,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name='newsletterevent',
to='newsletters.NewsletterContent'),
preserve_default=False,
),
migrations.AddField(
model_name='newsletteritem',
name='newslettercontent_ptr',
field=models.ForeignKey(default=1,
on_delete=django.db.models.deletion.DO_NOTHING,
related_name='newsletteritem',
to='newsletters.NewsletterContent'),
preserve_default=False,
),
migrations.RunPython(migrate_event_to_content, migrate_content_to_event),
migrations.RunPython(migrate_item_to_content, migrate_content_to_item),
migrations.RemoveField(
model_name='newsletterevent',
name='description_en',
),
migrations.RemoveField(
model_name='newsletterevent',
name='description_nl',
),
migrations.RemoveField(
model_name='newsletterevent',
name='id',
),
migrations.RemoveField(
model_name='newsletterevent',
name='newsletter',
),
migrations.RemoveField(
model_name='newsletterevent',
name='title_en',
),
migrations.RemoveField(
model_name='newsletterevent',
name='title_nl',
),
migrations.RemoveField(
model_name='newsletteritem',
name='description_en',
),
migrations.RemoveField(
model_name='newsletteritem',
name='description_nl',
),
migrations.RemoveField(
model_name='newsletteritem',
name='id',
),
migrations.RemoveField(
model_name='newsletteritem',
name='newsletter',
),
migrations.RemoveField(
model_name='newsletteritem',
name='title_en',
),
migrations.RemoveField(
model_name='newsletteritem',
name='title_nl',
),
migrations.AlterField(
model_name='newsletterevent',
name='newslettercontent_ptr',
field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='newsletters.NewsletterContent'),
),
migrations.AlterField(
model_name='newsletteritem',
name='newslettercontent_ptr',
field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='newsletters.NewsletterContent'),
),
migrations.AlterOrderWithRespectTo(
name='newslettercontent',
order_with_respect_to='newsletter',
),
]
from django.core.exceptions import ValidationError
from django.db import models
from django.db.models import ForeignKey
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
from tinymce.models import HTMLField
......@@ -67,7 +68,8 @@ class NewsletterContent(models.Model, metaclass=ModelTranslateMeta):
newsletter = models.ForeignKey(Newsletter, on_delete=models.CASCADE)
class Meta:
abstract = True
#abstract = True
order_with_respect_to = 'newsletter'
class NewsletterItem(NewsletterContent):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment