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
76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.9.7 on 2016-09-18 03:58
|
|
from __future__ import unicode_literals
|
|
|
|
from django.db import migrations
|
|
|
|
|
|
def image_to_custom_image(apps, schema_editor):
|
|
Image = apps.get_model("wagtailimages","Image")
|
|
CustomImage = apps.get_model("cms_pages", "CustomImage")
|
|
HomePage = apps.get_model("cms_pages", "HomePage")
|
|
#tags = TaggableManager(help_text=None, blank=True, verbose_name=_('tags'))
|
|
|
|
keys = (
|
|
"title", "file", "width", "height", "created_at", "uploaded_by_user",
|
|
"focal_point_y", "focal_point_x", "focal_point_width",
|
|
"focal_point_height", "file_size",
|
|
)
|
|
|
|
customs = {}
|
|
|
|
for image in Image.objects.all():
|
|
kwargs = dict((key, getattr(image, key)) for key in keys)
|
|
custom_image = CustomImage(**kwargs)
|
|
|
|
# Does this actually work?!
|
|
custom_image.tags = image.tags
|
|
|
|
custom_image.save()
|
|
|
|
customs[image.id] = custom_image
|
|
|
|
def swap(customs, block, key):
|
|
im = (block.value[key])
|
|
if im is not None:
|
|
block.value[key] = customs[im.id]
|
|
|
|
# Go through the links.
|
|
for page in HomePage.objects.all():
|
|
for block in page.body:
|
|
if block.block_type == "basic_content":
|
|
swap(customs, block, "background_image")
|
|
elif block.block_type == "keynotes":
|
|
for keynote in block.value:
|
|
swap(customs, keynote, "profile_image")
|
|
page.save()
|
|
|
|
abstract_content_page_models = ["ContentPage", "NewsIndexPage", "NewsPage"]
|
|
|
|
for model in abstract_content_page_models:
|
|
Model = apps.get_model("cms_pages", model)
|
|
|
|
for page in Model.objects.all():
|
|
for block in page.body:
|
|
if block.block_type == "floating_image" and block.value:
|
|
block.value = customs[block.value.id]
|
|
|
|
if page.background_image:
|
|
page.background_image_CUSTOM = customs[page.background_image.id]
|
|
|
|
if model == "NewsPage" and page.portrait_image:
|
|
page.portrait_image_CUSTOM = customs[page.portrait_image.id]
|
|
|
|
page.save()
|
|
|
|
Image.objects.all().delete()
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('cms_pages', '0013_auto_20160918_0358'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(image_to_custom_image),
|
|
]
|