1259 |
1259 |
assert resp.json['workflow']['fields']['backoffice_blah'] == 'Hello world'
|
1260 |
1260 |
|
1261 |
1261 |
|
|
1262 |
def test_formdata_duplicated_varnames(pub, local_user):
|
|
1263 |
Role.wipe()
|
|
1264 |
role = Role(name='test')
|
|
1265 |
role.id = '123'
|
|
1266 |
role.store()
|
|
1267 |
another_role = Role(name='another')
|
|
1268 |
another_role.id = '321'
|
|
1269 |
another_role.store()
|
|
1270 |
FormDef.wipe()
|
|
1271 |
formdef = FormDef()
|
|
1272 |
formdef.geolocations = {'base': 'blah'}
|
|
1273 |
formdef.name = 'test'
|
|
1274 |
formdef.fields = [
|
|
1275 |
fields.StringField(id='0', label='foobar', varname='foobar'),
|
|
1276 |
fields.StringField(id='1', label='foobar2', varname='foobar'),
|
|
1277 |
]
|
|
1278 |
workflow = Workflow.get_default_workflow()
|
|
1279 |
workflow.roles['_foobar'] = 'Foobar'
|
|
1280 |
workflow.id = '2'
|
|
1281 |
workflow.store()
|
|
1282 |
formdef.workflow_id = workflow.id
|
|
1283 |
formdef.workflow_roles = {'_receiver': role.id,
|
|
1284 |
'_foobar': another_role.id}
|
|
1285 |
formdef.store()
|
|
1286 |
|
|
1287 |
formdef.data_class().wipe()
|
|
1288 |
formdata = formdef.data_class()()
|
|
1289 |
formdata.data = {
|
|
1290 |
'0': 'foo',
|
|
1291 |
'1': 'bar',
|
|
1292 |
}
|
|
1293 |
formdata.user_id = local_user.id
|
|
1294 |
formdata.just_created()
|
|
1295 |
formdata.status = 'wf-new'
|
|
1296 |
formdata.evolution[-1].status = 'wf-new'
|
|
1297 |
formdata.store()
|
|
1298 |
|
|
1299 |
local_user.roles = [role.id]
|
|
1300 |
local_user.store()
|
|
1301 |
resp = get_app(pub).get(
|
|
1302 |
sign_uri('/api/forms/test/%s/' % formdata.id, user=local_user),
|
|
1303 |
status=200)
|
|
1304 |
assert resp.json['fields'] == {'foobar': 'foo'}
|
|
1305 |
|
|
1306 |
formdata.data = {
|
|
1307 |
'0': 'foo',
|
|
1308 |
'1': '',
|
|
1309 |
}
|
|
1310 |
formdata.store()
|
|
1311 |
resp = get_app(pub).get(
|
|
1312 |
sign_uri('/api/forms/test/%s/' % formdata.id, user=local_user),
|
|
1313 |
status=200)
|
|
1314 |
assert resp.json['fields'] == {'foobar': 'foo'}
|
|
1315 |
|
|
1316 |
formdata.data = {
|
|
1317 |
'0': '',
|
|
1318 |
'1': 'foo',
|
|
1319 |
}
|
|
1320 |
formdata.store()
|
|
1321 |
resp = get_app(pub).get(
|
|
1322 |
sign_uri('/api/forms/test/%s/' % formdata.id, user=local_user),
|
|
1323 |
status=200)
|
|
1324 |
assert resp.json['fields'] == {'foobar': 'foo'}
|
|
1325 |
|
|
1326 |
|
1262 |
1327 |
def test_formdata_edit(pub, local_user):
|
1263 |
1328 |
test_formdata(pub, local_user)
|
1264 |
1329 |
formdef = FormDef.select()[0]
|