workflows: add a level parameter to message action (#21704)
This commit is contained in:
parent
999773b35d
commit
7f2fd893d0
|
@ -3571,6 +3571,12 @@ def test_display_message(pub):
|
|||
assert 'message-to-xxx-and-submitter' in page.body
|
||||
assert page.body.index('message-to-submitter') > page.body.index('message-to-xxx-and-submitter')
|
||||
|
||||
# set a level
|
||||
display2.level = 'warning'
|
||||
workflow.store()
|
||||
page = app.get(formdata.get_url())
|
||||
assert 'warningnotice' in page.body
|
||||
|
||||
def test_session_cookie_flags(pub):
|
||||
formdef = create_formdef()
|
||||
app = get_app(pub)
|
||||
|
|
|
@ -2403,6 +2403,7 @@ class DisplayMessageWorkflowStatusItem(WorkflowStatusItem):
|
|||
|
||||
to = None
|
||||
position = 'top'
|
||||
level = None
|
||||
message = None
|
||||
|
||||
def get_line_details(self):
|
||||
|
@ -2445,13 +2446,25 @@ class DisplayMessageWorkflowStatusItem(WorkflowStatusItem):
|
|||
if handling_role and handling_role.details:
|
||||
dict['receiver'] = handling_role.details.replace('\n', '<br />')
|
||||
|
||||
return Template(self.message, ezt_format=ezt.FORMAT_HTML).render(dict)
|
||||
message = self.message
|
||||
if self.level:
|
||||
message = '<div class="%snotice">%s</div>' % (self.level, message)
|
||||
|
||||
return Template(message, ezt_format=ezt.FORMAT_HTML).render(dict)
|
||||
|
||||
def add_parameters_widgets(self, form, parameters, prefix='', formdef=None):
|
||||
if 'message' in parameters:
|
||||
form.add(TextWidget, '%smessage' % prefix, title = _('Message'),
|
||||
value=self.message, cols=80, rows=10,
|
||||
validation_function=ComputedExpressionWidget.validate_template)
|
||||
if 'level' in parameters:
|
||||
form.add(SingleSelectWidget, '%slevel' % prefix, title=_('Level'),
|
||||
value=self.level,
|
||||
options=[(None, ''),
|
||||
('success', _('Success')),
|
||||
('info', _('Information')),
|
||||
('warning', _('Warning')),
|
||||
('error', _('Error'))])
|
||||
if 'position' in parameters:
|
||||
form.add(SingleSelectWidget, '%sposition' % prefix, title=_('Position'),
|
||||
value=self.position,
|
||||
|
@ -2469,7 +2482,7 @@ class DisplayMessageWorkflowStatusItem(WorkflowStatusItem):
|
|||
self.get_list_of_roles(include_logged_in_users=False)})
|
||||
|
||||
def get_parameters(self):
|
||||
return ('message', 'position', 'to')
|
||||
return ('message', 'level', 'position', 'to')
|
||||
|
||||
def get_message_parameter_view_value(self):
|
||||
if self.message.startswith('<'):
|
||||
|
|
Loading…
Reference in New Issue