symposion_app/cms_pages/migrations/0008_auto_20160916_0417.py
Christopher Neugebauer ff16f71df6 September website changes - Pre-registration (#66)
* Factors rendering of external links into its own template. Automagical!

* Adds wagtail templates for keynotes on the front page

* Migrates to Wagtail 1.6

* Migrates content pages to be a streamfield. Flexibility++.

* Fixes editing of ContentPage bodies

* Adds floating images to content pages

* Fixes the layout of floating images

* Adds anchor links to content pages.

* Adds presentation link to the keynote speaker block model

* LCA-ifies the schedule list

* Refactors cms_pages/content_page into a new base template

* cms_pages/content_page now derives from abstract_content_page

* news_index_page now derives from abstract_content_page

* news_page now derives from abstract_content_page.html

* utility_page now uses the content_page base template

* Factors out _right_floating_image.html

* Themes the presentation detail page

* Themes the speaker profile page.

* Themes the schedule list page.

* Minor work on schedule_conference.html

* Themes schedule_detail.html

* Replaces cradle.svg

* Adds a background image to the schedule pages

* Adds libravatar fallback for speaker profile images

* Adds new background images (must update colophon)

* Adds some magic so that we can have slightly different presentation backgrounds for different pages.

* Adds the sponsor block to the bottom of the page.

* Adds sponsor logos to footer.

* All migrations are now in this tree

* Fixes wagtail migrations

* Adjusts presentation_detail to allow for miniconfs (i.e. no target audience)

* Adds unpublishing to presentation detail

* Adds ScheduleHeaderParagraph, which allows us to add some text to the header of schedule pages.

* Adds NamedHeaderParagraph. It allows us to store header paragraphs in the CMS.

* Date formatting in the schedule

* First step for fixing images

* Allows us to automagically load the colophon

* Adds “publish changes” button.

* Can login with email address
2016-09-18 20:40:55 +10:00

52 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
from wagtail.wagtailcore.rich_text import RichText
models = ["ContentPage", "NewsIndexPage", "NewsPage", ]
def convert_to_streamfield(apps, schema_editor):
for model_name in models:
_convert_to_streamfield(apps, model_name)
def _convert_to_streamfield(apps, model_name):
Model = apps.get_model("cms_pages", model_name)
for page in Model.objects.all():
if page.body.raw_text and not page.body:
page.body = [('rich_text', RichText(page.body.raw_text))]
page.save()
def convert_to_richtext(apps, schema_editor):
for model_name in models:
_convert_to_richtext(apps, model_name)
def _convert_to_richtext(apps, model_name):
Model = apps.get_model("cms_pages", model_name)
for page in Model.objects.all():
if page.body.raw_text is None:
raw_text = ''.join([
child.value.source for child in page.body
if child.block_type == 'rich_text'
])
page.body = raw_text
page.save()
class Migration(migrations.Migration):
dependencies = [
('cms_pages', '0007_auto_20160916_0417'),
]
operations = [
migrations.RunPython(
convert_to_streamfield,
convert_to_richtext,
),
]