src/pyams_content/component/paragraph/interfaces/html.py
changeset 555 8e8a14452567
parent 407 0ef5de2d5674
child 586 28445044f6e3
equal deleted inserted replaced
554:120ce09ade94 555:8e8a14452567
    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')