Skip to content

Commit 0ae363b

Browse files
laymonagethibaudcolas
authored andcommitted
Use Wagtail's ImageBlock in RecipeStreamBlock
1 parent 13ba13b commit 0ae363b

File tree

2 files changed

+150
-4
lines changed

2 files changed

+150
-4
lines changed

bakerydemo/recipes/blocks.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
from wagtail.contrib.table_block.blocks import TableBlock
1212
from wagtail.contrib.typed_table_block.blocks import TypedTableBlock
1313
from wagtail.embeds.blocks import EmbedBlock
14-
from wagtail.images.blocks import ImageChooserBlock
14+
from wagtail.images.blocks import ImageBlock
1515

16-
from bakerydemo.base.blocks import BlockQuote, CaptionedImageBlock, HeadingBlock
16+
from bakerydemo.base.blocks import BlockQuote, HeadingBlock
1717

1818

1919
class RecipeStepBlock(StructBlock):
@@ -57,7 +57,7 @@ class RecipeStreamBlock(StreamBlock):
5757
("text", CharBlock()),
5858
("numeric", FloatBlock()),
5959
("rich_text", RichTextBlock()),
60-
("image", ImageChooserBlock()),
60+
("image", ImageBlock()),
6161
],
6262
group="Content",
6363
description=(
@@ -104,7 +104,7 @@ class RecipeStreamBlock(StreamBlock):
104104
},
105105
)
106106

107-
image_block = CaptionedImageBlock(group="Media")
107+
image_block = ImageBlock(group="Media")
108108
embed_block = EmbedBlock(
109109
help_text="Insert an embed URL e.g https://www.youtube.com/watch?v=SGJFWirQ3ks",
110110
icon="media",
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# Generated by Django 6.0.dev20250116121251 on 2025-02-11 16:44
2+
3+
import wagtail.fields
4+
from django.db import migrations
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("recipes", "0001_initial"),
11+
]
12+
13+
operations = [
14+
migrations.AlterField(
15+
model_name="recipepage",
16+
name="body",
17+
field=wagtail.fields.StreamField(
18+
[
19+
("heading_block", 2),
20+
("paragraph_block", 3),
21+
("block_quote", 6),
22+
("table_block", 7),
23+
("typed_table_block", 12),
24+
("image_block", 13),
25+
("embed_block", 14),
26+
("ingredients_list", 16),
27+
("steps_list", 19),
28+
],
29+
blank=True,
30+
block_lookup={
31+
0: (
32+
"wagtail.blocks.CharBlock",
33+
(),
34+
{"form_classname": "title", "required": True},
35+
),
36+
1: (
37+
"wagtail.blocks.ChoiceBlock",
38+
[],
39+
{
40+
"blank": True,
41+
"choices": [
42+
("", "Select a header size"),
43+
("h2", "H2"),
44+
("h3", "H3"),
45+
("h4", "H4"),
46+
],
47+
"required": False,
48+
},
49+
),
50+
2: (
51+
"wagtail.blocks.StructBlock",
52+
[[("heading_text", 0), ("size", 1)]],
53+
{"group": "Content"},
54+
),
55+
3: (
56+
"wagtail.blocks.RichTextBlock",
57+
(),
58+
{
59+
"group": "Content",
60+
"icon": "pilcrow",
61+
"template": "blocks/paragraph_block.html",
62+
},
63+
),
64+
4: ("wagtail.blocks.TextBlock", (), {}),
65+
5: (
66+
"wagtail.blocks.CharBlock",
67+
(),
68+
{"blank": True, "label": "e.g. Mary Berry", "required": False},
69+
),
70+
6: (
71+
"wagtail.blocks.StructBlock",
72+
[[("text", 4), ("attribute_name", 5)]],
73+
{"group": "Content"},
74+
),
75+
7: (
76+
"wagtail.contrib.table_block.blocks.TableBlock",
77+
(),
78+
{"group": "Content"},
79+
),
80+
8: ("wagtail.blocks.CharBlock", (), {}),
81+
9: ("wagtail.blocks.FloatBlock", (), {}),
82+
10: ("wagtail.blocks.RichTextBlock", (), {}),
83+
11: ("wagtail.images.blocks.ImageBlock", [], {}),
84+
12: (
85+
"wagtail.contrib.typed_table_block.blocks.TypedTableBlock",
86+
[
87+
[
88+
("text", 8),
89+
("numeric", 9),
90+
("rich_text", 10),
91+
("image", 11),
92+
]
93+
],
94+
{"group": "Content"},
95+
),
96+
13: ("wagtail.images.blocks.ImageBlock", [], {"group": "Media"}),
97+
14: (
98+
"wagtail.embeds.blocks.EmbedBlock",
99+
(),
100+
{
101+
"group": "Media",
102+
"help_text": "Insert an embed URL e.g https://www.youtube.com/watch?v=SGJFWirQ3ks",
103+
"icon": "media",
104+
"template": "blocks/embed_block.html",
105+
},
106+
),
107+
15: (
108+
"wagtail.blocks.RichTextBlock",
109+
(),
110+
{"features": ["bold", "italic", "link"]},
111+
),
112+
16: (
113+
"wagtail.blocks.ListBlock",
114+
(15,),
115+
{
116+
"group": "Cooking",
117+
"icon": "list-ol",
118+
"max_num": 10,
119+
"min_num": 2,
120+
},
121+
),
122+
17: (
123+
"wagtail.blocks.ChoiceBlock",
124+
[],
125+
{"choices": [("S", "Small"), ("M", "Medium"), ("L", "Large")]},
126+
),
127+
18: (
128+
"wagtail.blocks.StructBlock",
129+
[[("text", 15), ("difficulty", 17)]],
130+
{},
131+
),
132+
19: (
133+
"wagtail.blocks.ListBlock",
134+
(18,),
135+
{
136+
"group": "Cooking",
137+
"icon": "tasks",
138+
"max_num": 10,
139+
"min_num": 2,
140+
},
141+
),
142+
},
143+
help_text="The recipe’s step-by-step instructions and any other relevant information.",
144+
),
145+
),
146+
]

0 commit comments

Comments
 (0)