src/pyams_content/features/alert/interfaces.py
changeset 902 e62d6ef786d0
parent 841 d50743e69693
child 956 a8723fffbaf6
equal deleted inserted replaced
901:ec5032c0d883 902:e62d6ef786d0
    16 # import standard library
    16 # import standard library
    17 from collections import OrderedDict
    17 from collections import OrderedDict
    18 
    18 
    19 # import interfaces
    19 # import interfaces
    20 from pyams_content.interfaces.container import IOrderedContainer
    20 from pyams_content.interfaces.container import IOrderedContainer
    21 from pyams_content.reference.pictograms.interfaces import PICTOGRAM_VOCABULARY
       
    22 from pyams_sequence.interfaces import IInternalReference
    21 from pyams_sequence.interfaces import IInternalReference
    23 from zope.annotation import IAttributeAnnotatable
    22 from zope.annotation import IAttributeAnnotatable
    24 
    23 
    25 # import packages
    24 # import packages
    26 from pyams_i18n.schema import I18nTextLineField
    25 from pyams_i18n.schema import I18nTextLineField
    35 
    34 
    36 ALERT_CONTAINER_KEY = 'pyams_content.alerts'
    35 ALERT_CONTAINER_KEY = 'pyams_content.alerts'
    37 
    36 
    38 
    37 
    39 ALERT_GRAVITY_NAMES = OrderedDict((
    38 ALERT_GRAVITY_NAMES = OrderedDict((
    40     ('success', _("Success")),
    39     ('alert', _("Alert")),
       
    40     ('alert_end', _("End of alert")),
    41     ('info', _("Information")),
    41     ('info', _("Information")),
    42     ('warning', _("Warning")),
    42     ('warning', _("Warning")),
    43     ('danger', _("Danger"))
    43     ('recommend', _("Recommendation"))
    44 ))
    44 ))
    45 
    45 
    46 ALERT_GRAVITY_VOCABULARY = SimpleVocabulary([SimpleTerm(v, title=t) for v, t in ALERT_GRAVITY_NAMES.items()])
    46 ALERT_GRAVITY_VOCABULARY = SimpleVocabulary([SimpleTerm(v, title=t) for v, t in ALERT_GRAVITY_NAMES.items()])
    47 
    47 
    48 
    48 
    60                      description=_("Alert gravity will affect rendered alert style"),
    60                      description=_("Alert gravity will affect rendered alert style"),
    61                      required=True,
    61                      required=True,
    62                      default='info',
    62                      default='info',
    63                      vocabulary=ALERT_GRAVITY_VOCABULARY)
    63                      vocabulary=ALERT_GRAVITY_VOCABULARY)
    64 
    64 
    65     header = I18nTextLineField(title=_('alert-header', default="Heading"),
       
    66                                description=_("Short alert header (Alert, Important...)"),
       
    67                                required=False)
       
    68 
       
    69     message = I18nTextLineField(title=_("Message"),
    65     message = I18nTextLineField(title=_("Message"),
    70                                 description=_("Alert message"),
    66                                 description=_("Alert message"),
    71                                 required=True)
    67                                 required=True)
    72 
    68 
    73     reference = InternalReferenceField(title=_("Internal reference"),
    69     reference = InternalReferenceField(title=_("Internal reference"),
    74                                        description=_("Internal link target reference. You can search a reference using "
    70                                        description=_("Internal link target reference. You can search a reference using "
    75                                                 "'+' followed by internal number, of by entering text matching "
    71                                                      "'+' followed by internal number, of by entering text matching "
    76                                                 "content title."),
    72                                                      "content title."),
    77                                        required=False)
    73                                        required=False)
    78 
       
    79     pictogram_name = Choice(title=_("Pictogram"),
       
    80                             description=_("Name of the pictogram to select"),
       
    81                             required=False,
       
    82                             vocabulary=PICTOGRAM_VOCABULARY)
       
    83 
       
    84     pictogram = Attribute("Selected pictogram object")
       
    85 
    74 
    86     start_date = Datetime(title=_("Display start date"),
    75     start_date = Datetime(title=_("Display start date"),
    87                           description=_("First date at which alert should be displayed"),
    76                           description=_("First date at which alert should be displayed"),
    88                           required=False)
    77                           required=False)
    89 
    78