6581 |
6581 |
resp = resp.form.submit('submit').follow()
|
6582 |
6582 |
|
6583 |
6583 |
assert formdef.data_class().get(formdata.id).workflow_data == {'blah_var_str': 'xxx2', 'blah_var_str2': None}
|
|
6584 |
|
|
6585 |
def test_frontoffice_workflow_form_with_dynamic_comment(pub):
|
|
6586 |
user = create_user(pub)
|
|
6587 |
wf = Workflow.get_default_workflow()
|
|
6588 |
wf.id = '2'
|
|
6589 |
wf.store()
|
|
6590 |
wf = Workflow.get(wf.id)
|
|
6591 |
status = wf.get_status('new')
|
|
6592 |
status.items = []
|
|
6593 |
display_form = FormWorkflowStatusItem()
|
|
6594 |
display_form.id = '_display_form'
|
|
6595 |
display_form.by = ['_submitter']
|
|
6596 |
display_form.varname = 'blah'
|
|
6597 |
display_form.formdef = WorkflowFormFieldsFormDef(item=display_form)
|
|
6598 |
display_form.formdef.fields = [
|
|
6599 |
fields.StringField(id='1', label='Test', varname='str', type='string', required=True),
|
|
6600 |
fields.CommentField(id='2', label='value is {{blah_var_str}}', type='comment'),
|
|
6601 |
]
|
|
6602 |
status.items.append(display_form)
|
|
6603 |
display_form.parent = status
|
|
6604 |
|
|
6605 |
wf.store()
|
|
6606 |
formdef = create_formdef()
|
|
6607 |
formdef.workflow_id = wf.id
|
|
6608 |
formdef.fields = [fields.StringField(id='0', label='string', varname='plop')]
|
|
6609 |
formdef.store()
|
|
6610 |
|
|
6611 |
formdef.data_class().wipe()
|
|
6612 |
|
|
6613 |
formdata = formdef.data_class()()
|
|
6614 |
formdata.user_id = user.id
|
|
6615 |
formdata.status = 'wf-new'
|
|
6616 |
formdata.data = {'0': 'plop'}
|
|
6617 |
formdata.store()
|
|
6618 |
|
|
6619 |
app = login(get_app(pub), username='foo', password='foo')
|
|
6620 |
resp = app.get(formdata.get_url(backoffice=False))
|
|
6621 |
assert 'f1' in resp.form.fields
|
|
6622 |
|
|
6623 |
live_url = resp.html.find('form').attrs['data-live-url']
|
|
6624 |
resp.form['f1'] = 'test'
|
|
6625 |
live_resp = app.post(live_url, params=resp.form.submit_fields())
|
|
6626 |
assert live_resp.json['result']['2']['visible']
|
|
6627 |
assert live_resp.json['result']['2']['content'] == '<p>value is test</p>'
|