15 |
15 |
16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.component.association.interfaces import IAssociationParagraph, ASSOCIATION_PARAGRAPH_TYPE, \ |
19 from pyams_content.component.association.interfaces import IAssociationParagraph, ASSOCIATION_PARAGRAPH_TYPE, \ |
20 ASSOCIATION_PARAGRAPH_RENDERERS |
20 ASSOCIATION_PARAGRAPH_RENDERERS, ASSOCIATION_PARAGRAPH_NAME |
21 from pyams_content.component.extfile.interfaces import IExtFileContainerTarget |
21 from pyams_content.component.extfile.interfaces import IExtFileContainerTarget |
22 from pyams_content.component.links.interfaces import ILinkContainerTarget |
22 from pyams_content.component.links.interfaces import ILinkContainerTarget |
23 from pyams_content.component.paragraph.interfaces import IParagraphFactory |
23 from pyams_content.component.paragraph.interfaces import IParagraphFactory |
24 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE |
24 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE |
25 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator |
25 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator |
34 from pyams_utils.traversing import get_parent |
34 from pyams_utils.traversing import get_parent |
35 from pyams_utils.vocabulary import vocabulary_config |
35 from pyams_utils.vocabulary import vocabulary_config |
36 from zope.interface import implementer |
36 from zope.interface import implementer |
37 from zope.schema.fieldproperty import FieldProperty |
37 from zope.schema.fieldproperty import FieldProperty |
38 |
38 |
39 from pyams_content import _ |
|
40 |
|
41 |
39 |
42 @implementer(IAssociationParagraph, IExtFileContainerTarget, ILinkContainerTarget) |
40 @implementer(IAssociationParagraph, IExtFileContainerTarget, ILinkContainerTarget) |
43 @factory_config(provided=IAssociationParagraph) |
41 @factory_config(provided=IAssociationParagraph) |
44 class AssociationParagraph(BaseParagraph): |
42 class AssociationParagraph(BaseParagraph): |
45 """Associations paragraph""" |
43 """Associations paragraph""" |
46 |
44 |
47 icon_class = 'fa-link' |
45 icon_class = 'fa-link' |
48 icon_hint = _("Associations paragraph") |
46 icon_hint = ASSOCIATION_PARAGRAPH_NAME |
49 |
47 |
50 renderer = FieldProperty(IAssociationParagraph['renderer']) |
48 renderer = FieldProperty(IAssociationParagraph['renderer']) |
51 |
49 |
52 |
50 |
53 @utility_config(name=ASSOCIATION_PARAGRAPH_TYPE, provides=IParagraphFactory) |
51 @utility_config(name=ASSOCIATION_PARAGRAPH_TYPE, provides=IParagraphFactory) |
54 class AssociationParagraphFactory(BaseParagraphFactory): |
52 class AssociationParagraphFactory(BaseParagraphFactory): |
55 """Associations paragraph factory""" |
53 """Associations paragraph factory""" |
56 |
54 |
57 name = _("Associations paragraph") |
55 name = ASSOCIATION_PARAGRAPH_NAME |
58 content_type = AssociationParagraph |
56 content_type = AssociationParagraph |
59 |
57 |
60 |
58 |
61 @adapter_config(context=IAssociationParagraph, provides=IContentChecker) |
59 @adapter_config(context=IAssociationParagraph, provides=IContentChecker) |
62 class AssociationParagraphContentChecker(BaseParagraphContentChecker): |
60 class AssociationParagraphContentChecker(BaseParagraphContentChecker): |