api: export list of formdef keywords in user/forms and user/drafts (#8951)
This commit is contained in:
parent
8ed71906f9
commit
4f80ae3bfc
|
@ -497,6 +497,7 @@ def test_user_forms(pub, local_user):
|
|||
formdef.fields = [
|
||||
fields.StringField(id='0', label='foobar', varname='foobar'),
|
||||
fields.StringField(id='1', label='foobar2'),]
|
||||
formdef.keywords = 'hello, world'
|
||||
formdef.store()
|
||||
formdef.data_class().wipe()
|
||||
|
||||
|
@ -515,10 +516,12 @@ def test_user_forms(pub, local_user):
|
|||
resp3 = get_app(pub).get(sign_uri('/api/users/%s/forms' % local_user.id))
|
||||
assert len(resp.json) == 1
|
||||
assert resp.json[0]['form_status'] == 'New'
|
||||
assert resp.json[0]['keywords'] == ['hello', 'world']
|
||||
assert resp.json == resp2.json == resp3.json
|
||||
|
||||
resp = get_app(pub).get(sign_uri('/api/user/forms?full=on', user=local_user))
|
||||
assert resp.json[0]['fields']['foobar'] == 'foo@localhost'
|
||||
assert resp.json[0]['keywords'] == ['hello', 'world']
|
||||
|
||||
def test_user_drafts(pub, local_user):
|
||||
FormDef.wipe()
|
||||
|
@ -528,6 +531,7 @@ def test_user_drafts(pub, local_user):
|
|||
fields.StringField(id='0', label='foobar', varname='foobar'),
|
||||
fields.StringField(id='1', label='foobar2'),
|
||||
fields.FileField(id='2', label='foobar3', varname='file'),]
|
||||
formdef.keywords = 'hello, world'
|
||||
formdef.store()
|
||||
|
||||
resp = get_app(pub).get(sign_uri('/api/user/drafts', user=local_user))
|
||||
|
@ -548,11 +552,13 @@ def test_user_drafts(pub, local_user):
|
|||
assert len(resp.json) == 1
|
||||
assert resp.json == resp2.json
|
||||
assert not 'fields' in resp.json[0]
|
||||
assert resp.json[0]['keywords'] == ['hello', 'world']
|
||||
|
||||
resp = get_app(pub).get(sign_uri('/api/user/drafts?full=on', user=local_user))
|
||||
assert 'fields' in resp.json[0]
|
||||
assert resp.json[0]['fields']['foobar'] == 'foo@localhost'
|
||||
assert 'file' not in resp.json[0]['fields'] # no file export in full lists
|
||||
assert resp.json[0]['keywords'] == ['hello', 'world']
|
||||
|
||||
def test_api_list_formdata(pub, local_user):
|
||||
Role.wipe()
|
||||
|
|
|
@ -434,6 +434,7 @@ class ApiUserDirectory(Directory):
|
|||
'name': form.formdef.name,
|
||||
'url': url,
|
||||
'datetime': misc.strftime.strftime('%Y-%m-%d %H:%M:%S', form.receipt_time),
|
||||
'keywords': form.formdef.keywords_list,
|
||||
}
|
||||
if get_request().form.get('full') == 'on':
|
||||
d.update(form.get_json_export_dict(include_files=False))
|
||||
|
@ -470,6 +471,7 @@ class ApiUserDirectory(Directory):
|
|||
'url': url,
|
||||
'datetime': misc.strftime.strftime('%Y-%m-%d %H:%M:%S', form.receipt_time),
|
||||
'status': status,
|
||||
'keywords': form.formdef.keywords_list,
|
||||
}
|
||||
d.update(form.get_substitution_variables(minimal=True))
|
||||
if get_request().form.get('full') == 'on':
|
||||
|
|
Loading…
Reference in New Issue