Skip to content

Commit a0559de

Browse files
Améliorations Wagtail : Bonus, héritage... (#1813)
* WIP * Update Poetry deps and fix Wagtail block overrideUpdate Poetry package dependencies * Remove comments from ReusableContent model
1 parent 03f2c83 commit a0559de

File tree

13 files changed

+2427
-313
lines changed

13 files changed

+2427
-313
lines changed

poetry.lock

Lines changed: 20 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ rapidfuzz = "^3.13.0"
109109
sites-faciles-experiment = "^0.0.10"
110110
diff-match-patch = "^20241021"
111111
django-lookbook = "^1.0.2"
112+
queryish = "^0.2"
112113

113114
[tool.poetry.group.dev.dependencies]
114115
black = "^25.1.0"

qfdmd/blocks.py

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import logging
2+
3+
from django.utils.functional import cached_property
14
from django.utils.translation import gettext_lazy as _
25
from sites_faciles.content_manager import blocks as sites_faciles_blocks
36
from sites_faciles.content_manager.blocks import (
@@ -9,14 +12,21 @@
912
from wagtail import blocks
1013
from wagtail.snippets.blocks import SnippetChooserBlock
1114

15+
logger = logging.getLogger(__name__)
16+
1217

1318
class ProductBlock(blocks.StructBlock):
1419
champ = blocks.ChoiceBlock(
15-
choices=[("Bon état", "bon_etat"), ("Mauvais état", "mauvais_etat")]
20+
choices=[("Bon état", "bon_etat"), ("Mauvais état", "mauvais_etat")],
1621
)
1722
produit = SnippetChooserBlock("qfdmd.produit", label="produit")
1823

1924

25+
def get_choices(*args, **kwargs) -> list:
26+
logger.info(f"{args=} {kwargs=}")
27+
return [("coucou", "coucou")]
28+
29+
2030
class ExtendedCommonStreamBlock(CommonStreamBlock):
2131
reusable = SnippetChooserBlock(
2232
"qfdmd.reusablecontent",
@@ -37,8 +47,37 @@ class TabsBlock(sites_faciles_blocks.TabsBlock):
3747
tabs = TabBlock(label=_("Tab"), min_num=1, max_num=15)
3848

3949

50+
class Bonus(blocks.StaticBlock):
51+
class Meta:
52+
template = "blocks/bonus.html"
53+
label = "Bonus réparation"
54+
55+
56+
class WagtailBlockChoiceBlock(blocks.ChooserBlock):
57+
@cached_property
58+
def target_model(self):
59+
from qfdmd.views import WagtailBlock
60+
61+
return WagtailBlock
62+
63+
@cached_property
64+
def widget(self):
65+
from qfdmd.wagtail_hooks import WagtailBlockChooserWidget
66+
67+
return WagtailBlockChooserWidget(
68+
linked_fields={"parent_page_id": "#id_parent_page_id"}
69+
)
70+
71+
72+
class Override(blocks.StructBlock):
73+
block = WagtailBlockChoiceBlock()
74+
content = ExtendedCommonStreamBlock()
75+
76+
4077
STREAMFIELD_COMMON_BLOCKS = [
4178
*SITES_FACILES_BLOCKS,
79+
("override", Override()),
80+
("bonus", Bonus()),
4281
(
4382
"reusable",
4483
SnippetChooserBlock(

0 commit comments

Comments
 (0)