feat(templates): carry content field requirements
This commit is contained in:
@@ -186,6 +186,7 @@ class TemplateContentDraftRequest:
|
|||||||
scope_type: Literal["tenant", "group", "user"] = "tenant"
|
scope_type: Literal["tenant", "group", "user"] = "tenant"
|
||||||
scope_id: str | None = None
|
scope_id: str | None = None
|
||||||
metadata: Mapping[str, object] = field(default_factory=dict)
|
metadata: Mapping[str, object] = field(default_factory=dict)
|
||||||
|
required_fields: tuple[TemplateFieldRequirement, ...] = ()
|
||||||
|
|
||||||
|
|
||||||
@runtime_checkable
|
@runtime_checkable
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from govoplan_core.core.templates import (
|
|||||||
TemplateCatalogProvider,
|
TemplateCatalogProvider,
|
||||||
TemplateContentDraftRequest,
|
TemplateContentDraftRequest,
|
||||||
TemplateContentLibraryProvider,
|
TemplateContentLibraryProvider,
|
||||||
|
TemplateFieldRequirement,
|
||||||
TemplateRenderRequest,
|
TemplateRenderRequest,
|
||||||
TemplateRendererProvider,
|
TemplateRendererProvider,
|
||||||
)
|
)
|
||||||
@@ -89,8 +90,12 @@ class TemplateContractTests(unittest.TestCase):
|
|||||||
template_type="content_fragment",
|
template_type="content_fragment",
|
||||||
usages=("campaign.content",),
|
usages=("campaign.content",),
|
||||||
content_text="Kind regards",
|
content_text="Kind regards",
|
||||||
|
required_fields=(
|
||||||
|
TemplateFieldRequirement(path="local.display_name", label="Display name"),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
self.assertEqual("de", content.locale)
|
self.assertEqual("de", content.locale)
|
||||||
|
self.assertEqual("local.display_name", content.required_fields[0].path)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user