5351 |
5351 |
resp = resp.form.submit('submit')
|
5352 |
5352 |
assert 'f4' in resp.form.fields
|
5353 |
5353 |
|
|
5354 |
def test_field_unicode_condition_in_array(pub):
|
|
5355 |
FormDef.wipe()
|
|
5356 |
formdef = FormDef()
|
|
5357 |
formdef.name = 'Foo'
|
|
5358 |
formdef.fields = [
|
|
5359 |
fields.PageField(id='0', label='1st page', type='page'),
|
|
5360 |
fields.ItemsField(id='1', label='items', type='items',
|
|
5361 |
required=True,
|
|
5362 |
varname='foo', items=['Pomme', 'Poire', 'Pêche', 'Abricot']),
|
|
5363 |
fields.PageField(id='2', label='2nd page', type='page'),
|
|
5364 |
fields.StringField(type='string', id='3', label='Baz', size='40',
|
|
5365 |
required=True, varname='baz',
|
|
5366 |
condition={'type': 'django', 'value': '"Pêche" in form_var_foo'}),
|
|
5367 |
fields.CommentField(type='comment', id='4', label='{{form_var_foo}}'),
|
|
5368 |
fields.CommentField(type='comment', id='5', label='{% if "Pêche" in form_var_foo %}OK{% endif %}'),
|
|
5369 |
]
|
|
5370 |
|
|
5371 |
workflow = Workflow(name='test')
|
|
5372 |
st1 = workflow.add_status('Status1', 'st1')
|
|
5373 |
display1 = DisplayMessageWorkflowStatusItem()
|
|
5374 |
display1.message = 'Message {% if "Pêche" in form_var_foo %}OK{% endif %}'
|
|
5375 |
display1.to = []
|
|
5376 |
st1.items.append(display1)
|
|
5377 |
display1.parent = st1
|
|
5378 |
workflow.store()
|
|
5379 |
|
|
5380 |
formdef.workflow = workflow
|
|
5381 |
formdef.store()
|
|
5382 |
|
|
5383 |
resp = get_app(pub).get('/foo/')
|
|
5384 |
resp.form['f1$element1'].checked = True
|
|
5385 |
resp = resp.form.submit('submit')
|
|
5386 |
assert not 'f3' in resp.form.fields
|
|
5387 |
|
|
5388 |
resp = get_app(pub).get('/foo/')
|
|
5389 |
resp.form['f1$element1'].checked = True
|
|
5390 |
resp.form['f1$element2'].checked = True
|
|
5391 |
resp = resp.form.submit('submit')
|
|
5392 |
assert 'f3' in resp.form.fields # check it's ok in field condition
|
|
5393 |
resp.form['f3'] = 'hop'
|
|
5394 |
assert '>Poire, Pêche<' in resp.body # check it's displayed correctly
|
|
5395 |
assert '>OK<' in resp.body # check it's ok in template condition
|
|
5396 |
resp = resp.form.submit('submit')
|
|
5397 |
assert 'Check values then click submit.' in resp.body
|
|
5398 |
resp = resp.form.submit('submit').follow()
|
|
5399 |
assert '<p>Message OK</p>' in resp.body # check it's ok in workflow template
|
|
5400 |
|
5354 |
5401 |
def test_field_live_condition(pub):
|
5355 |
5402 |
FormDef.wipe()
|
5356 |
5403 |
formdef = FormDef()
|