From 45d22e9c7af49d70e5ee54b6a7c608ff74ba6df8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bedna=C5=99=C3=ADk?= <jan.bednarik@gmail.com> Date: Fri, 17 Apr 2020 13:32:25 +0200 Subject: [PATCH] Senator multi text page --- .../migrations/0006_senatormultitextpage.py | 41 ++++++++++++++++ senator/models.py | 26 ++++++++-- .../senator/senator_multi_text_page.html | 47 +++++++++++++++++++ 3 files changed, 111 insertions(+), 3 deletions(-) create mode 100644 senator/migrations/0006_senatormultitextpage.py create mode 100644 senator/templates/senator/senator_multi_text_page.html diff --git a/senator/migrations/0006_senatormultitextpage.py b/senator/migrations/0006_senatormultitextpage.py new file mode 100644 index 00000000..6076d9e5 --- /dev/null +++ b/senator/migrations/0006_senatormultitextpage.py @@ -0,0 +1,41 @@ +# Generated by Django 3.0.5 on 2020-04-17 11:27 + +import django.db.models.deletion +import wagtail.core.blocks +import wagtail.core.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("wagtailcore", "0045_assign_unlock_grouppagepermission"), + ("senator", "0005_auto_20200417_1103"), + ] + + operations = [ + migrations.CreateModel( + name="SenatorMultiTextPage", + fields=[ + ( + "page_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="wagtailcore.Page", + ), + ), + ( + "body", + wagtail.core.fields.StreamField( + [("paragraph", wagtail.core.blocks.RichTextBlock())] + ), + ), + ], + options={"verbose_name": "[senátor] Flexibilnà textová stránka",}, + bases=("wagtailcore.page",), + ), + ] diff --git a/senator/models.py b/senator/models.py index 0495597a..a791d0b8 100644 --- a/senator/models.py +++ b/senator/models.py @@ -1,6 +1,7 @@ from django.db import models -from wagtail.admin.edit_handlers import FieldPanel -from wagtail.core.fields import RichTextField +from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel +from wagtail.core import blocks +from wagtail.core.fields import RichTextField, StreamField from wagtail.core.models import Page from wagtail.images.edit_handlers import ImageChooserPanel from wagtail.search import index @@ -21,7 +22,11 @@ class SenatorHomePage(Page): FieldPanel("my_work"), ] - subpage_types = ["senator.SenatorNewsIndexPage", "senator.SenatorTextPage"] + subpage_types = [ + "senator.SenatorNewsIndexPage", + "senator.SenatorTextPage", + "senator.SenatorMultiTextPage", + ] class Meta: verbose_name = "[senátor] Úvodnà stránka" @@ -83,3 +88,18 @@ class SenatorTextPage(Page): class Meta: verbose_name = "[senátor] Textová stránka" + + +class SenatorMultiTextPage(Page): + body = StreamField([("paragraph", blocks.RichTextBlock())]) + + search_fields = Page.search_fields + [ + index.SearchField("body"), + ] + + content_panels = Page.content_panels + [ + StreamFieldPanel("body"), + ] + + class Meta: + verbose_name = "[senátor] Flexibilnà textová stránka" diff --git a/senator/templates/senator/senator_multi_text_page.html b/senator/templates/senator/senator_multi_text_page.html new file mode 100644 index 00000000..e6006688 --- /dev/null +++ b/senator/templates/senator/senator_multi_text_page.html @@ -0,0 +1,47 @@ +{% extends "senator/base.html" %} + +{% load wagtailcore_tags %} + +{% block titlebar %} + +<div class="l-titlebar size_medium color_default"> + <div class="l-titlebar-overlay" style="background-color:#f3f3f3"></div> + <div class="l-titlebar-h"> + <div class="l-titlebar-content"> + <h1 itemprop="headline">{{ page.title }}</h1> + </div> + <div class="g-breadcrumbs" xmlns:v="http://rdf.data-vocabulary.org/#"> + <span typeof="v:Breadcrumb"> + <a class="g-breadcrumbs-item" rel="v:url" property="v:title" href="/">Úvodnà stránka</a> + </span> + <span class="g-breadcrumbs-separator"></span> + <span class="g-breadcrumbs-item">{{ page.title }}</span> + </div> + </div> +</div> + +{% endblock %} + +{% block content %} + +{% for block in page.body %} +<section class="l-section wpb_row height_medium {% cycle "" "color_alternate" %}"> + <div class="l-section-h i-cf"> + <div class="g-cols vc_row type_default valign_top"> + <div class="vc_col-sm-12 wpb_column vc_column_container"> + <div class="vc_column-inner"> + <div class="wpb_wrapper"> + <div class="wpb_text_column "> + <div class="wpb_wrapper"> + {% include_block block %} + </div> + </div> + </div> + </div> + </div> + </div> + </div> +</section> +{% endfor %} + +{% endblock %} -- GitLab