2131 |
2131 |
assert formdef.data_class().count() == 1
|
2132 |
2132 |
assert formdef.data_class().select()[0].user_id is None
|
2133 |
2133 |
|
|
2134 |
def test_backoffice_submission_multiple_page_restore_on_validation(pub):
|
|
2135 |
user = create_user(pub)
|
|
2136 |
create_environment(pub)
|
|
2137 |
other_user = pub.user_class(name='other user')
|
|
2138 |
other_user.email = 'other@example.net'
|
|
2139 |
other_user.store()
|
|
2140 |
|
|
2141 |
formdef = FormDef.get_by_urlname('form-title')
|
|
2142 |
formdef.fields = [
|
|
2143 |
fields.PageField(id='0', label='1st page', type='page'),
|
|
2144 |
fields.StringField(id='1', label='1st field', type='string', required=False),
|
|
2145 |
fields.PageField(id='2', label='2nd page', type='page',
|
|
2146 |
condition={'type': 'python', 'value': 'False'}),
|
|
2147 |
fields.PageField(id='3', label='3rd page', type='page'),
|
|
2148 |
fields.StringField(id='5', label='field on 3rd page'),
|
|
2149 |
]
|
|
2150 |
formdef.backoffice_submission_roles = user.roles[:]
|
|
2151 |
formdef.enable_tracking_codes = True
|
|
2152 |
formdef.store()
|
|
2153 |
|
|
2154 |
formdef.data_class().wipe()
|
|
2155 |
|
|
2156 |
app = login(get_app(pub))
|
|
2157 |
resp = app.get('/backoffice/submission/form-title/')
|
|
2158 |
resp.form['f1'] = 'foo'
|
|
2159 |
resp = resp.form.submit('submit')
|
|
2160 |
resp.form['f5'] = 'bar'
|
|
2161 |
resp = resp.form.submit('submit')
|
|
2162 |
assert 'Check values then click submit.' in resp.body
|
|
2163 |
|
|
2164 |
assert formdef.data_class().count() == 1
|
|
2165 |
formdata = formdef.data_class().select()[0]
|
|
2166 |
# restore draft
|
|
2167 |
resp = app.get('/backoffice/submission/')
|
|
2168 |
resp = resp.click(href='form-title/%s' % formdata.id)
|
|
2169 |
resp = resp.follow()
|
|
2170 |
assert 'Check values then click submit.' in resp.body
|
|
2171 |
|
2134 |
2172 |
def test_backoffice_submission_substitution_vars(pub):
|
2135 |
2173 |
user = create_user(pub)
|
2136 |
2174 |
create_environment(pub)
|