Projet

Général

Profil

0001-workflows-add-a-level-parameter-to-message-action-21.patch

Frédéric Péters, 25 février 2018 19:17

Télécharger (3,1 ko)

Voir les différences:

Subject: [PATCH] workflows: add a level parameter to message action (#21704)

 tests/test_form_pages.py |  6 ++++++
 wcs/workflows.py         | 17 +++++++++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)
tests/test_form_pages.py
3580 3580
    assert 'message-to-xxx-and-submitter' in page.body
3581 3581
    assert page.body.index('message-to-submitter') > page.body.index('message-to-xxx-and-submitter')
3582 3582

  
3583
    # set a level
3584
    display2.level = 'warning'
3585
    workflow.store()
3586
    page = app.get(formdata.get_url())
3587
    assert 'warningnotice' in page.body
3588

  
3583 3589
def test_session_cookie_flags(pub):
3584 3590
    formdef = create_formdef()
3585 3591
    app = get_app(pub)
wcs/workflows.py
2398 2398

  
2399 2399
    to = None
2400 2400
    position = 'top'
2401
    level = None
2401 2402
    message = None
2402 2403

  
2403 2404
    def get_line_details(self):
......
2440 2441
        if handling_role and handling_role.details:
2441 2442
            dict['receiver'] = handling_role.details.replace('\n', '<br />')
2442 2443

  
2443
        return Template(self.message, ezt_format=ezt.FORMAT_HTML).render(dict)
2444
        message = self.message
2445
        if self.level:
2446
            message = '<div class="%snotice">%s</div>' % (self.level, message)
2447

  
2448
        return Template(message, ezt_format=ezt.FORMAT_HTML).render(dict)
2444 2449

  
2445 2450
    def add_parameters_widgets(self, form, parameters, prefix='', formdef=None):
2446 2451
        if 'message' in parameters:
2447 2452
            form.add(TextWidget, '%smessage' % prefix, title = _('Message'),
2448 2453
                value=self.message, cols=80, rows=10,
2449 2454
                validation_function=ComputedExpressionWidget.validate_template)
2455
        if 'level' in parameters:
2456
            form.add(SingleSelectWidget, '%slevel' % prefix, title=_('Level'),
2457
                value=self.level,
2458
                options=[(None, ''),
2459
                         ('success', _('Success')),
2460
                         ('info', _('Information')),
2461
                         ('warning', _('Warning')),
2462
                         ('error', _('Error'))])
2450 2463
        if 'position' in parameters:
2451 2464
            form.add(SingleSelectWidget, '%sposition' % prefix, title=_('Position'),
2452 2465
                value=self.position,
......
2464 2477
                                        self.get_list_of_roles(include_logged_in_users=False)})
2465 2478

  
2466 2479
    def get_parameters(self):
2467
        return ('message', 'position', 'to')
2480
        return ('message', 'level', 'position', 'to')
2468 2481

  
2469 2482
    def get_message_parameter_view_value(self):
2470 2483
        if self.message.startswith('<'):
2471
-