|
@@ -0,0 +1,405 @@
|
|
|
+# Generated by Django 4.0.8 on 2022-11-17 15:14
|
|
|
+
|
|
|
+from django.db import migrations, models
|
|
|
+import django.db.models.deletion
|
|
|
+import modelcluster.fields
|
|
|
+import wagtail.blocks
|
|
|
+import wagtail.contrib.typed_table_block.blocks
|
|
|
+import wagtail.documents.blocks
|
|
|
+import wagtail.embeds.blocks
|
|
|
+import wagtail.fields
|
|
|
+import wagtail.images.blocks
|
|
|
+
|
|
|
+
|
|
|
+class Migration(migrations.Migration):
|
|
|
+
|
|
|
+ initial = True
|
|
|
+
|
|
|
+ dependencies = [
|
|
|
+ ("wagtailcore", "0078_referenceindex"),
|
|
|
+ ]
|
|
|
+
|
|
|
+ operations = [
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="SpecialPage",
|
|
|
+ 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",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("title_1", models.CharField(default="Title 1", max_length=255)),
|
|
|
+ (
|
|
|
+ "section_1",
|
|
|
+ wagtail.fields.StreamField(
|
|
|
+ [
|
|
|
+ ("char", wagtail.blocks.CharBlock()),
|
|
|
+ (
|
|
|
+ "choice",
|
|
|
+ wagtail.blocks.ChoiceBlock(
|
|
|
+ choices=[
|
|
|
+ ("M", "Medium"),
|
|
|
+ ("L", "Large"),
|
|
|
+ ("XL", "Extra large"),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "list",
|
|
|
+ wagtail.blocks.ListBlock(
|
|
|
+ child_block=wagtail.blocks.CharBlock()
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("text", wagtail.blocks.TextBlock()),
|
|
|
+ ("rich_text", wagtail.blocks.RichTextBlock()),
|
|
|
+ ("url", wagtail.blocks.URLBlock()),
|
|
|
+ (
|
|
|
+ "document",
|
|
|
+ wagtail.documents.blocks.DocumentChooserBlock(),
|
|
|
+ ),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ ("image", wagtail.images.blocks.ImageChooserBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.blocks.StructBlock(
|
|
|
+ [
|
|
|
+ ("title", wagtail.blocks.CharBlock()),
|
|
|
+ ("description", wagtail.blocks.TextBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
|
|
|
+ [
|
|
|
+ (
|
|
|
+ "text",
|
|
|
+ wagtail.blocks.CharBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "numeric",
|
|
|
+ wagtail.blocks.FloatBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "rich_text",
|
|
|
+ wagtail.blocks.RichTextBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "stream",
|
|
|
+ wagtail.blocks.StreamBlock(
|
|
|
+ [
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ blank=True,
|
|
|
+ help_text="Section 1 is a StreamField in a regular FieldPanel",
|
|
|
+ use_json_field=True,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("title_2", models.CharField(default="Title 2", max_length=255)),
|
|
|
+ (
|
|
|
+ "section_2",
|
|
|
+ wagtail.fields.StreamField(
|
|
|
+ [
|
|
|
+ ("char", wagtail.blocks.CharBlock()),
|
|
|
+ (
|
|
|
+ "choice",
|
|
|
+ wagtail.blocks.ChoiceBlock(
|
|
|
+ choices=[
|
|
|
+ ("M", "Medium"),
|
|
|
+ ("L", "Large"),
|
|
|
+ ("XL", "Extra large"),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "list",
|
|
|
+ wagtail.blocks.ListBlock(
|
|
|
+ child_block=wagtail.blocks.CharBlock()
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("text", wagtail.blocks.TextBlock()),
|
|
|
+ ("rich_text", wagtail.blocks.RichTextBlock()),
|
|
|
+ ("url", wagtail.blocks.URLBlock()),
|
|
|
+ (
|
|
|
+ "document",
|
|
|
+ wagtail.documents.blocks.DocumentChooserBlock(),
|
|
|
+ ),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ ("image", wagtail.images.blocks.ImageChooserBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.blocks.StructBlock(
|
|
|
+ [
|
|
|
+ ("title", wagtail.blocks.CharBlock()),
|
|
|
+ ("description", wagtail.blocks.TextBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
|
|
|
+ [
|
|
|
+ (
|
|
|
+ "text",
|
|
|
+ wagtail.blocks.CharBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "numeric",
|
|
|
+ wagtail.blocks.FloatBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "rich_text",
|
|
|
+ wagtail.blocks.RichTextBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "stream",
|
|
|
+ wagtail.blocks.StreamBlock(
|
|
|
+ [
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ blank=True,
|
|
|
+ help_text="Section 2 is a StreamField in a MultiFieldPanel",
|
|
|
+ use_json_field=True,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ "abstract": False,
|
|
|
+ },
|
|
|
+ bases=("wagtailcore.page",),
|
|
|
+ ),
|
|
|
+ migrations.CreateModel(
|
|
|
+ name="Item",
|
|
|
+ fields=[
|
|
|
+ (
|
|
|
+ "id",
|
|
|
+ models.AutoField(
|
|
|
+ auto_created=True,
|
|
|
+ primary_key=True,
|
|
|
+ serialize=False,
|
|
|
+ verbose_name="ID",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "sort_order",
|
|
|
+ models.IntegerField(blank=True, editable=False, null=True),
|
|
|
+ ),
|
|
|
+ ("title_1", models.CharField(default="Title 1", max_length=255)),
|
|
|
+ (
|
|
|
+ "section_1",
|
|
|
+ wagtail.fields.StreamField(
|
|
|
+ [
|
|
|
+ ("char", wagtail.blocks.CharBlock()),
|
|
|
+ (
|
|
|
+ "choice",
|
|
|
+ wagtail.blocks.ChoiceBlock(
|
|
|
+ choices=[
|
|
|
+ ("M", "Medium"),
|
|
|
+ ("L", "Large"),
|
|
|
+ ("XL", "Extra large"),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "list",
|
|
|
+ wagtail.blocks.ListBlock(
|
|
|
+ child_block=wagtail.blocks.CharBlock()
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("text", wagtail.blocks.TextBlock()),
|
|
|
+ ("rich_text", wagtail.blocks.RichTextBlock()),
|
|
|
+ ("url", wagtail.blocks.URLBlock()),
|
|
|
+ (
|
|
|
+ "document",
|
|
|
+ wagtail.documents.blocks.DocumentChooserBlock(),
|
|
|
+ ),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ ("image", wagtail.images.blocks.ImageChooserBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.blocks.StructBlock(
|
|
|
+ [
|
|
|
+ ("title", wagtail.blocks.CharBlock()),
|
|
|
+ ("description", wagtail.blocks.TextBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
|
|
|
+ [
|
|
|
+ (
|
|
|
+ "text",
|
|
|
+ wagtail.blocks.CharBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "numeric",
|
|
|
+ wagtail.blocks.FloatBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "rich_text",
|
|
|
+ wagtail.blocks.RichTextBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "stream",
|
|
|
+ wagtail.blocks.StreamBlock(
|
|
|
+ [
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ blank=True,
|
|
|
+ help_text="Section 1 is a StreamField in a regular FieldPanel",
|
|
|
+ use_json_field=True,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("title_2", models.CharField(default="Title 2", max_length=255)),
|
|
|
+ (
|
|
|
+ "section_2",
|
|
|
+ wagtail.fields.StreamField(
|
|
|
+ [
|
|
|
+ ("char", wagtail.blocks.CharBlock()),
|
|
|
+ (
|
|
|
+ "choice",
|
|
|
+ wagtail.blocks.ChoiceBlock(
|
|
|
+ choices=[
|
|
|
+ ("M", "Medium"),
|
|
|
+ ("L", "Large"),
|
|
|
+ ("XL", "Extra large"),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "list",
|
|
|
+ wagtail.blocks.ListBlock(
|
|
|
+ child_block=wagtail.blocks.CharBlock()
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("text", wagtail.blocks.TextBlock()),
|
|
|
+ ("rich_text", wagtail.blocks.RichTextBlock()),
|
|
|
+ ("url", wagtail.blocks.URLBlock()),
|
|
|
+ (
|
|
|
+ "document",
|
|
|
+ wagtail.documents.blocks.DocumentChooserBlock(),
|
|
|
+ ),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ ("image", wagtail.images.blocks.ImageChooserBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.blocks.StructBlock(
|
|
|
+ [
|
|
|
+ ("title", wagtail.blocks.CharBlock()),
|
|
|
+ ("description", wagtail.blocks.TextBlock()),
|
|
|
+ (
|
|
|
+ "table",
|
|
|
+ wagtail.contrib.typed_table_block.blocks.TypedTableBlock(
|
|
|
+ [
|
|
|
+ (
|
|
|
+ "text",
|
|
|
+ wagtail.blocks.CharBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "numeric",
|
|
|
+ wagtail.blocks.FloatBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "rich_text",
|
|
|
+ wagtail.blocks.RichTextBlock(),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "stream",
|
|
|
+ wagtail.blocks.StreamBlock(
|
|
|
+ [
|
|
|
+ ("page", wagtail.blocks.PageChooserBlock()),
|
|
|
+ ("embed", wagtail.embeds.blocks.EmbedBlock()),
|
|
|
+ (
|
|
|
+ "image",
|
|
|
+ wagtail.images.blocks.ImageChooserBlock(),
|
|
|
+ ),
|
|
|
+ ]
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ blank=True,
|
|
|
+ help_text="Section 2 is a StreamField in a MultiFieldPanel",
|
|
|
+ use_json_field=True,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ (
|
|
|
+ "page",
|
|
|
+ modelcluster.fields.ParentalKey(
|
|
|
+ on_delete=django.db.models.deletion.CASCADE,
|
|
|
+ related_name="items",
|
|
|
+ to="specials.specialpage",
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ options={
|
|
|
+ "ordering": ["sort_order"],
|
|
|
+ "abstract": False,
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ ]
|