18 # import interfaces |
18 # import interfaces |
19 from pyams_content.component.paragraph.interfaces import IBaseParagraph |
19 from pyams_content.component.paragraph.interfaces import IBaseParagraph |
20 |
20 |
21 # import packages |
21 # import packages |
22 from pyams_i18n.schema import I18nHTMLField, I18nTextField |
22 from pyams_i18n.schema import I18nHTMLField, I18nTextField |
|
23 from zope.schema import Choice |
23 |
24 |
24 from pyams_content import _ |
25 from pyams_content import _ |
25 |
26 |
26 |
27 |
27 # |
28 # |
28 # Raw HTML paragraph |
29 # Raw HTML paragraph |
29 # |
30 # |
30 |
31 |
31 RAW_PARAGRAPH_TYPE = 'raw' |
32 RAW_PARAGRAPH_TYPE = 'raw' |
|
33 RAW_PARAGRAPH_RENDERERS = 'PyAMS.paragraph.raw.renderers' |
32 |
34 |
33 |
35 |
34 class IRawParagraph(IBaseParagraph): |
36 class IRawParagraph(IBaseParagraph): |
35 """Raw HTML paragraph interface""" |
37 """Raw HTML paragraph interface""" |
36 |
38 |
37 body = I18nTextField(title=_("Raw HTML code"), |
39 body = I18nTextField(title=_("Raw HTML code"), |
38 description=_("This HTML code will be used 'as is', without any transformation. Use with " |
40 description=_("This HTML code will be used 'as is', without any transformation. Use with " |
39 "care!!"), |
41 "care!!"), |
40 required=False) |
42 required=False) |
41 |
43 |
|
44 renderer = Choice(title=_("Raw HTML code template"), |
|
45 description=_("Presentation template used for this paragraph"), |
|
46 vocabulary=RAW_PARAGRAPH_RENDERERS, |
|
47 default='default') |
|
48 |
42 |
49 |
43 # |
50 # |
44 # HTML paragraph |
51 # HTML paragraph |
45 # |
52 # |
46 |
53 |
47 HTML_PARAGRAPH_TYPE = 'HTML' |
54 HTML_PARAGRAPH_TYPE = 'HTML' |
|
55 HTML_PARAGRAPH_RENDERERS = 'PyAMS.paragraph.html.renderers' |
48 |
56 |
49 |
57 |
50 class IHTMLParagraph(IBaseParagraph): |
58 class IHTMLParagraph(IBaseParagraph): |
51 """Rich text paragraph interface""" |
59 """Rich text paragraph interface""" |
52 |
60 |
53 body = I18nHTMLField(title=_("Body"), |
61 body = I18nHTMLField(title=_("Body"), |
54 required=False) |
62 required=False) |
|
63 |
|
64 renderer = Choice(title=_("Body template"), |
|
65 description=_("Presentation template used for this paragraph"), |
|
66 vocabulary=HTML_PARAGRAPH_RENDERERS, |
|
67 default='default') |