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 |