workflows: display Common varnames only if formdef is set (#49302)
This commit is contained in:
parent
04aeca215e
commit
016329a7e0
|
@ -1534,6 +1534,17 @@ def test_create_formdata(pub):
|
|||
resp.form['map_fields_by_varname'].checked = True
|
||||
resp = resp.form.submit('submit')
|
||||
resp = resp.follow()
|
||||
wf2 = Workflow.get(wf2.id)
|
||||
assert wf2.possible_status[-1].items[-1].map_fields_by_varname is True
|
||||
assert wf2.possible_status[-1].items[-1].mappings is None
|
||||
wf = Workflow.get(wf.id)
|
||||
st2 = wf.possible_status[-1]
|
||||
assert wf.possible_status[-1].items[-1].map_fields_by_varname is True
|
||||
assert wf.possible_status[-1].items[-1].mappings is None
|
||||
assert wf.possible_status[-1].items[-1].formdef_slug == 'target-form'
|
||||
resp = app.get('/backoffice/workflows/%s/status/%s/items/%s/' % (wf.id, st2.id, st2.items[-1].id))
|
||||
resp.form['formdef_slug'] = '' # unset target form
|
||||
resp.form.submit('submit')
|
||||
wf = Workflow.get(wf.id)
|
||||
assert wf.possible_status[-1].items[-1].formdef_slug is None
|
||||
assert wf.possible_status[-1].items[-1].map_fields_by_varname is True
|
||||
resp = app.get('/backoffice/workflows/%s/status/%s/items/%s/' % (wf.id, st2.id, st2.items[-1].id))
|
||||
resp.form['formdef_slug'] = 'target-form' # reset target form
|
||||
resp.form.submit('submit') # no error
|
||||
|
|
|
@ -283,7 +283,7 @@ class CreateFormdataWorkflowStatusItem(WorkflowStatusItem):
|
|||
value=self.map_fields_by_varname,
|
||||
advanced=(
|
||||
self.map_fields_by_varname == CreateFormdataWorkflowStatusItem.map_fields_by_varname))
|
||||
if self.map_fields_by_varname:
|
||||
if self.map_fields_by_varname and self.formdef:
|
||||
common_varnames = [htmltext('<tt>%s</tt>') % varname for varname in self._common_varnames()]
|
||||
common_varnames = htmltext(', ').join(common_varnames)
|
||||
form.widgets.append(
|
||||
|
|
Loading…
Reference in New Issue