Projet

Général

Profil

0001-workflows-backoffice-fields-display-in-inspect-view-.patch

Lauréline Guérin, 03 juillet 2020 11:53

Télécharger (3,11 ko)

Voir les différences:

Subject: [PATCH] workflows: backoffice fields display in inspect view (#22024)

 tests/test_backoffice_pages.py | 23 +++++++++++++++++++++++
 wcs/wf/backoffice_fields.py    | 12 ++++++++++++
 2 files changed, 35 insertions(+)
tests/test_backoffice_pages.py
5797 5797
        '<li>file → =form_var_toto_file_raw</li>'
5798 5798
        '<li>#2 → =form_var_foobar_raw</li></ul>') in resp.text
5799 5799

  
5800
    workflow.backoffice_fields_formdef = WorkflowBackofficeFieldsFormDef(workflow)
5801
    workflow.backoffice_fields_formdef.fields = [
5802
        fields.StringField(id='bo1', label='Foo Bar 1', varname='foo_bar'),
5803
        fields.StringField(id='bo2', label='Foo Bar 2', varname='foo_bar'),
5804
        fields.StringField(id='bo3', label='Foo Bar 3', varname='foo_bar'),
5805
    ]
5806
    setbo = SetBackofficeFieldsWorkflowStatusItem()
5807
    setbo.parent = st2
5808
    setbo.fields = [
5809
        {'field_id': 'bo1', 'value': 'go'},
5810
        {'field_id': 'bo2', 'value': ''},
5811
        {'field_id': 'bo3', 'value': None},
5812
        {'field_id': 'unknown', 'value': 'foobar'},
5813
    ]
5814
    st2.items.append(setbo)
5815
    workflow.store()
5816
    resp = app.get('/backoffice/workflows/%s/inspect' % workflow.id)
5817
    assert (
5818
        '<ul class="fields"><li>Foo Bar 1 → go</li>'
5819
        '<li>Foo Bar 2 → </li>'
5820
        '<li>Foo Bar 3 → None</li>'
5821
        '<li>#unknown → foobar</li></ul>') in resp.text
5822

  
5800 5823

  
5801 5824
def test_workflow_comment_required(pub):
5802 5825
    user = create_user(pub)
wcs/wf/backoffice_fields.py
15 15
# along with this program; if not, see <http://www.gnu.org/licenses/>.
16 16

  
17 17
import xml.etree.ElementTree as ET
18
from quixote.html import htmltext
18 19

  
19 20
from ..qommon import _, N_
20 21
from ..qommon.form import (WidgetListAsTable, CompositeWidget, SingleSelectWidget,
......
97 98
                    title=_('Fields Update'), value=self.fields,
98 99
                    workflow=self.parent.parent)
99 100

  
101
    def get_fields_parameter_view_value(self):
102
        result = []
103
        for field in self.fields:
104
            try:
105
                formdef_field = [x for x in self.parent.parent.get_backoffice_fields()
106
                                 if x.id == field['field_id']][0]
107
                result.append(htmltext('<li>%s → %s</li>') % (formdef_field.label, field['value']))
108
            except IndexError:
109
                result.append(htmltext('<li>#%s → %s</li>') % (field['field_id'], field['value']))
110
        return htmltext('<ul class="fields">%s</ul>') % htmltext('').join(result)
111

  
100 112
    def perform(self, formdata):
101 113
        if not self.fields:
102 114
            return
103
-