16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.component.paragraph.interfaces import IParagraphFactory |
19 from pyams_content.component.paragraph.interfaces import IParagraphFactory |
20 from pyams_content.component.paragraph.interfaces.contact import have_gis, IContactParagraph, CONTACT_PARAGRAPH_TYPE, \ |
20 from pyams_content.component.paragraph.interfaces.contact import have_gis, IContactParagraph, CONTACT_PARAGRAPH_TYPE, \ |
21 CONTACT_PARAGRAPH_RENDERERS |
21 CONTACT_PARAGRAPH_RENDERERS, CONTACT_PARAGRAPH_NAME |
22 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE |
22 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE |
23 from pyams_file.interfaces import IImage, IResponsiveImage |
23 from pyams_file.interfaces import IImage, IResponsiveImage |
24 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator |
24 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator |
25 |
25 |
26 # import packages |
26 # import packages |
33 from pyams_utils.traversing import get_parent |
33 from pyams_utils.traversing import get_parent |
34 from pyams_utils.vocabulary import vocabulary_config |
34 from pyams_utils.vocabulary import vocabulary_config |
35 from zope.interface import implementer, alsoProvides |
35 from zope.interface import implementer, alsoProvides |
36 from zope.schema.fieldproperty import FieldProperty |
36 from zope.schema.fieldproperty import FieldProperty |
37 |
37 |
38 from pyams_content import _ |
|
39 |
|
40 |
38 |
41 @implementer(IContactParagraph) |
39 @implementer(IContactParagraph) |
42 @factory_config(provided=IContactParagraph) |
40 @factory_config(provided=IContactParagraph) |
43 class ContactParagraph(BaseParagraph): |
41 class ContactParagraph(BaseParagraph): |
44 """Contact paragraph""" |
42 """Contact paragraph""" |
45 |
43 |
46 icon_class = 'fa-id-card-o' |
44 icon_class = 'fa-id-card-o' |
47 icon_hint = _("Contact card") |
45 icon_hint = CONTACT_PARAGRAPH_NAME |
48 |
46 |
49 name = FieldProperty(IContactParagraph['name']) |
47 name = FieldProperty(IContactParagraph['name']) |
50 charge = FieldProperty(IContactParagraph['charge']) |
48 charge = FieldProperty(IContactParagraph['charge']) |
51 contact_email = FieldProperty(IContactParagraph['contact_email']) |
49 contact_email = FieldProperty(IContactParagraph['contact_email']) |
52 contact_form = FieldProperty(IContactParagraph['contact_form']) |
50 contact_form = FieldProperty(IContactParagraph['contact_form']) |
71 |
69 |
72 @utility_config(name=CONTACT_PARAGRAPH_TYPE, provides=IParagraphFactory) |
70 @utility_config(name=CONTACT_PARAGRAPH_TYPE, provides=IParagraphFactory) |
73 class ContactParagraphFactory(BaseParagraphFactory): |
71 class ContactParagraphFactory(BaseParagraphFactory): |
74 """Contact paragraph factory""" |
72 """Contact paragraph factory""" |
75 |
73 |
76 name = _("Contact card") |
74 name = CONTACT_PARAGRAPH_NAME |
77 content_type = ContactParagraph |
75 content_type = ContactParagraph |
78 secondary_menu = True |
76 secondary_menu = True |
79 |
77 |
80 |
78 |
81 @adapter_config(context=IContactParagraph, provides=IContentChecker) |
79 @adapter_config(context=IContactParagraph, provides=IContentChecker) |