Projet

Général

Profil

0001-backoffice-include-title-subtitle-comment-workflow-o.patch

Frédéric Péters, 20 mai 2022 13:48

Télécharger (3,36 ko)

Voir les différences:

Subject: [PATCH] backoffice: include title/subtitle/comment workflow options
 in inspect (#65503)

 tests/admin_pages/test_form.py                    | 8 +++++---
 wcs/admin/forms.py                                | 3 +++
 wcs/templates/wcs/backoffice/formdef-inspect.html | 4 ++++
 3 files changed, 12 insertions(+), 3 deletions(-)
tests/admin_pages/test_form.py
3462 3462
    Workflow.wipe()
3463 3463
    workflow = Workflow(name='Workflow One')
3464 3464
    workflow.variables_formdef = WorkflowVariablesFieldsFormDef(workflow=workflow)
3465
    workflow.variables_formdef.fields.append(
3466
        fields.StringField(id='1', varname='test', label='Test', type='string')
3467
    )
3465
    workflow.variables_formdef.fields = [
3466
        fields.TitleField(id='0', label='option title', type='title'),
3467
        fields.StringField(id='1', varname='test', label='Test', type='string'),
3468
    ]
3468 3469
    workflow.store()
3469 3470

  
3470 3471
    FormDef.wipe()
......
3519 3520
    resp = app.get('/backoffice/forms/%s/inspect' % formdef.id)
3520 3521

  
3521 3522
    assert 'Test → plop' in resp.text  # workflow option
3523
    assert '<strong>option title</strong>' in resp.text  # title field as workflow option
3522 3524
    assert (
3523 3525
        resp.pyquery('[data-field-id="0"] .parameter-post_conditions').text()
3524 3526
        == 'Post Conditions:\nfalse - You shall not pass.'
wcs/admin/forms.py
1758 1758
            context['workflow_options'] = {}
1759 1759
            variables_form_data = self.formdef.get_variable_options_for_form()
1760 1760
            for field in self.formdef.workflow.variables_formdef.fields:
1761
                if not hasattr(field, 'get_view_value'):  # inhert
1762
                    context['workflow_options'][field.label] = '__%s__' % field.type
1763
                    continue
1761 1764
                context['workflow_options'][field.label] = htmltext('%s') % field.get_view_value(
1762 1765
                    variables_form_data.get(field.id)
1763 1766
                )
wcs/templates/wcs/backoffice/formdef-inspect.html
28 28
<li><span class="parameter">{% trans "Workflow" %}{% trans ":" %}</span> <a href="{{ formdef.workflow.get_admin_url }}">{{ formdef.workflow.name }}</a></li>
29 29
<li><span class="parameter">{% trans "Options" %}{% trans ":" %}</span> {% if not workflow_options %}-{% else %}<ul>
30 30
  {% for label, value in workflow_options.items %}
31
  {% if value == '__title__' or value == '__subtitle__' %}<li><strong>{{ label }}</strong></li>
32
  {% elif value == '__comment__' %}<li><{{ label }}</li>
33
  {% else %}
31 34
  <li>{{ label }} → {{ value|safe|default:"-" }}</li>
35
  {% endif %}
32 36
  {% endfor %}
33 37
</ul>{% endif %}</li>
34 38
{% for wf_role_id, wf_role_label, role_label in workflow_roles %}
35
-