ff16f71df6
* 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
52 lines
1.4 KiB
Python
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,
|
|
),
|
|
]
|