Projet

Général

Profil

0001-api-export-list-of-formdef-keywords-in-user-forms-an.patch

Frédéric Péters, 11 novembre 2015 19:28

Télécharger (2,76 ko)

Voir les différences:

Subject: [PATCH] api: export list of formdef keywords in user/forms and
 user/drafts (#8951)

 tests/test_api.py | 4 ++++
 wcs/api.py        | 2 ++
 2 files changed, 6 insertions(+)
tests/test_api.py
497 497
    formdef.fields = [
498 498
        fields.StringField(id='0', label='foobar', varname='foobar'),
499 499
        fields.StringField(id='1', label='foobar2'),]
500
    formdef.keywords = 'hello, world'
500 501
    formdef.store()
501 502
    formdef.data_class().wipe()
502 503

  
......
519 520

  
520 521
    resp = get_app(pub).get(sign_uri('/api/user/forms?full=on', user=local_user))
521 522
    assert resp.json[0]['fields']['foobar'] == 'foo@localhost'
523
    assert resp.json[0]['keywords'] == ['hello', 'world']
522 524

  
523 525
def test_user_drafts(pub, local_user):
524 526
    FormDef.wipe()
......
528 530
        fields.StringField(id='0', label='foobar', varname='foobar'),
529 531
        fields.StringField(id='1', label='foobar2'),
530 532
        fields.FileField(id='2', label='foobar3', varname='file'),]
533
    formdef.keywords = 'hello, world'
531 534
    formdef.store()
532 535

  
533 536
    resp = get_app(pub).get(sign_uri('/api/user/drafts', user=local_user))
......
553 556
    assert 'fields' in resp.json[0]
554 557
    assert resp.json[0]['fields']['foobar'] == 'foo@localhost'
555 558
    assert 'file' not in resp.json[0]['fields'] # no file export in full lists
559
    assert resp.json[0]['keywords'] == ['hello', 'world']
556 560

  
557 561
def test_api_list_formdata(pub, local_user):
558 562
    Role.wipe()
wcs/api.py
434 434
                'name': form.formdef.name,
435 435
                'url': url,
436 436
                'datetime': misc.strftime.strftime('%Y-%m-%d %H:%M:%S', form.receipt_time),
437
                'keywords': form.formdef.keywords_list,
437 438
            }
438 439
            if get_request().form.get('full') == 'on':
439 440
                d.update(form.get_json_export_dict(include_files=False))
......
470 471
                'url': url,
471 472
                'datetime': misc.strftime.strftime('%Y-%m-%d %H:%M:%S', form.receipt_time),
472 473
                'status': status,
474
                'keywords': form.formdef.keywords_list,
473 475
            }
474 476
            d.update(form.get_substitution_variables(minimal=True))
475 477
            if get_request().form.get('full') == 'on':
476
-