/
behavior.py
33 lines (29 loc) · 1.15 KB
/
behavior.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from plone.app.z3cform.widget import RelatedItemsFieldWidget
from plone.autoform import directives as form
from plone.autoform.interfaces import IFormFieldProvider
from plone.base import PloneMessageFactory as _
from plone.supermodel import model
from plone.supermodel.directives import fieldset
from z3c.relationfield.schema import RelationChoice
from z3c.relationfield.schema import RelationList
from zope.interface import provider
@provider(IFormFieldProvider)
class IRelatedItems(model.Schema):
"""Behavior interface to make a Dexterity type support related items."""
relatedItems = RelationList(
title=_("label_related_items", default="Related Items"),
default=[],
value_type=RelationChoice(
title="Related", vocabulary="plone.app.vocabularies.Catalog"
),
required=False,
)
form.widget(
"relatedItems",
RelatedItemsFieldWidget,
vocabulary="plone.app.vocabularies.Catalog",
pattern_options={
"recentlyUsed": True # Just turn on. Config in plone.app.widgets.
},
)
fieldset("categorization", label=_("Categorization"), fields=["relatedItems"])