4425 |
4425 |
assert json.loads(ajax_resp.body)['result'] == 'error'
|
4426 |
4426 |
assert formdef.data_class().select()[0].data['1'] == 'foobar3'
|
4427 |
4427 |
|
|
4428 |
def test_form_autosave_with_items_field(pub):
|
|
4429 |
formdef = create_formdef()
|
|
4430 |
formdef.data_class().wipe()
|
|
4431 |
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
|
|
4432 |
fields.StringField(id='1', label='string', varname='foo'),
|
|
4433 |
fields.PageField(id='2', label='2nd page', type='page'),
|
|
4434 |
fields.ItemsField(id='3', label='items', type='items',
|
|
4435 |
items=[x.encode(pub.site_charset) for x in (u'pomme', u'poire', u'pêche', u'abricot')]),
|
|
4436 |
]
|
|
4437 |
formdef.enable_tracking_codes = True
|
|
4438 |
formdef.store()
|
|
4439 |
|
|
4440 |
app = get_app(pub)
|
|
4441 |
resp = app.get('/test/')
|
|
4442 |
resp.form['f1'] = 'bar'
|
|
4443 |
|
|
4444 |
app.post('/test/autosave', params=resp.form.submit_fields())
|
|
4445 |
assert formdef.data_class().count() == 1
|
|
4446 |
formdata = formdef.data_class().select()[0]
|
|
4447 |
assert formdata.status == 'draft'
|
|
4448 |
assert formdef.data_class().select()[0].data['1'] == 'bar'
|
|
4449 |
assert formdef.data_class().select()[0].data.get('3') == None
|
|
4450 |
|
|
4451 |
resp = resp.forms[0].submit('submit')
|
|
4452 |
resp.form['f3$element1'].checked = True
|
|
4453 |
resp.form['f3$element3'].checked = True
|
|
4454 |
app.post('/test/autosave', params=resp.form.submit_fields())
|
|
4455 |
assert formdef.data_class().count() == 1
|
|
4456 |
assert formdef.data_class().select()[0].data['1'] == 'bar'
|
|
4457 |
assert formdef.data_class().select()[0].data['3'] == ['poire', 'abricot']
|
|
4458 |
|
4428 |
4459 |
def test_form_autosave_with_parameterized_datasource(pub):
|
4429 |
4460 |
formdef = create_formdef()
|
4430 |
4461 |
formdef.fields = [fields.PageField(id='0', label='1st page', type='page'),
|
4431 |
|
-
|