from __future__ import unicode_literals from django.db import models from wagtail.models import Page, Orderable from wagtail.fields import RichTextField from wagtail.admin.panels import FieldPanel, MultiFieldPanel, InlinePanel from modelcluster.models import ParentalKey from saburly.custom_editor import FULL_EDITOR class HomePage(Page): intro_title = RichTextField(blank=True, features=FULL_EDITOR) intro_text = RichTextField(blank=True, features=FULL_EDITOR) intro_image = RichTextField(blank=True, features=FULL_EDITOR) content_panels = Page.content_panels + [ MultiFieldPanel([ FieldPanel('intro_title', classname="full"), FieldPanel('intro_text', classname="full"), FieldPanel('intro_image', classname="full"), ], heading="Intro Section"), InlinePanel('homepage_sections', heading="Sections Home", label="Sections Home"), ] class HomePageSections(Orderable): page = ParentalKey(HomePage, on_delete=models.CASCADE, related_name='homepage_sections') section_title = RichTextField(blank=True, features=FULL_EDITOR) section_text = RichTextField(blank=True, features=FULL_EDITOR) section_image = models.ForeignKey( 'wagtailimages.Image', null=True, blank=True, on_delete=models.SET_NULL, related_name='+' ) panels = [ FieldPanel('section_title'), FieldPanel('section_text'), FieldPanel('section_image'), ]