Projet

Général

Profil

0001-workfows-display-accept-map-by-varname-field-when-a-.patch

Frédéric Péters, 31 juillet 2020 08:22

Télécharger (3 ko)

Voir les différences:

Subject: [PATCH] workfows: display/accept map by varname field when a target
 form is set (#45630)

 tests/test_admin_pages.py | 17 +++++++++++++++++
 wcs/wf/create_formdata.py |  4 ++--
 2 files changed, 19 insertions(+), 2 deletions(-)
tests/test_admin_pages.py
6061 6061
    pq = resp.pyquery.remove_namespaces()
6062 6062
    assert pq('.error').text() == 'Some destination fields are duplicated'
6063 6063

  
6064
    # check setting map_fields_by_varname on new action
6065
    resp = app.get('/backoffice/workflows/%s/status/%s/' % (wf.id, st2.id))
6066
    resp.forms['new-action-form']['action-formdata-action'] = 'New Form Creation'
6067
    resp = resp.forms['new-action-form'].submit()
6068
    resp = resp.follow()
6069
    resp = resp.click(r'New Form Creation \(not configured\)')
6070
    resp.form['formdef_slug'] = 'target-form'  # set target form
6071
    resp = resp.form.submit('submit')
6072
    assert 'Please define new mappings' in resp
6073
    assert resp.form['map_fields_by_varname'].checked is False
6074
    resp.form['map_fields_by_varname'].checked = True
6075
    resp = resp.form.submit('submit')
6076
    resp = resp.follow()
6077
    wf2 = Workflow.get(wf2.id)
6078
    assert wf2.possible_status[-1].items[-1].map_fields_by_varname is True
6079
    assert wf2.possible_status[-1].items[-1].mappings is None
6080

  
6064 6081

  
6065 6082
def test_block_new(pub, blocks_feature):
6066 6083
    create_superuser(pub)
wcs/wf/create_formdata.py
258 258
                     title=_(self.mappings_label),
259 259
                     to_formdef=formdef,
260 260
                     value=self.mappings)
261
            if form.is_submitted():
261
            if form.is_submitted() and get_request().form.get('map_fields_by_varname') != 'yes':
262 262
                # do not validate form if formdef is changed and there is no mappings
263 263
                if formdef_slug != self.formdef_slug and not widget.parse():
264 264
                    form.get_widget('%smappings' % prefix).set_error(_('Please define new mappings'))
......
267 267
                     title=_('Identifier'), value=self.varname,
268 268
                     hint=_(self.varname_hint),
269 269
                     advanced=not(bool(self.varname)))
270
        if 'map_fields_by_varname' in parameters and self.formdef:
270
        if 'map_fields_by_varname' in parameters and formdef:
271 271
            form.add(CheckboxWidget, '%smap_fields_by_varname' % prefix,
272 272
                     title=_('Map fields by varname'),
273 273
                     value=self.map_fields_by_varname,
274
-