Projet

Général

Profil

0001-formdefs-add-keywords-to-form-tag-13941.patch

Frédéric Péters, 13 novembre 2016 11:16

Télécharger (3,17 ko)

Voir les différences:

Subject: [PATCH] formdefs: add keywords to <form> tag (#13941)

 tests/test_form_pages.py | 16 ++++++++++++++++
 wcs/formdef.py           | 20 ++++++++++----------
 2 files changed, 26 insertions(+), 10 deletions(-)
tests/test_form_pages.py
3511 3511
        resp = resp.form.submit('submit') # -> submit
3512 3512
        assert formdef.data_class().select()[0].data['0'] == ['2']
3513 3513
        assert formdef.data_class().select()[0].data['0_display'] == 'world'
3514

  
3515
def test_form_data_keywords(pub):
3516
    formdef = create_formdef()
3517
    formdef.keywords = 'hello,world'
3518
    formdef.store()
3519
    formdef.data_class().wipe()
3520
    resp = get_app(pub).get('/test/')
3521
    assert 'data-keywords="hello world"' in resp.body
3522
    resp = resp.form.submit('submit')
3523
    assert 'Check values then click submit.' in resp.body
3524
    assert 'data-keywords="hello world"' in resp.body
3525
    resp = resp.form.submit('submit')
3526
    assert resp.status_int == 302
3527
    resp = resp.follow()
3528
    assert 'The form has been recorded' in resp.body
3529
    assert formdef.data_class().count() == 1
wcs/formdef.py
426 426
    def get_display_id_format(self):
427 427
        return '[formdef_id]-[form_number_raw]'
428 428

  
429
    def create_form(self, page_no = 0, displayed_fields = None):
430
        form = Form(enctype = "multipart/form-data", use_tokens = False)
429
    def create_form(self, page_no=0, displayed_fields=None):
430
        form = Form(enctype = "multipart/form-data", use_tokens=False)
431
        if self.keywords:
432
            form.attrs['data-keywords'] = ' '.join(self.keywords_list)
431 433
        form.ERROR_NOTICE = _('There were errors processing the form and '
432 434
                               'you cannot go to the next page. Do '
433 435
                               'check below that you filled all fields correctly.')
......
456 458
    def get_page(self, page_no):
457 459
        return [x for x in self.fields if x.type == 'page'][page_no]
458 460

  
459

  
460
    def create_view_form(self, dict = {}, use_tokens = True, visible = True):
461
        if visible:
462
            form = Form(enctype = 'multipart/form-data', use_tokens = use_tokens)
463
        else:
464
            form = Form(enctype = 'multipart/form-data',
465
                    use_tokens = use_tokens,
466
                    style = 'display: none;')
461
    def create_view_form(self, dict={}, use_tokens=True, visible=True):
462
        form = Form(enctype='multipart/form-data', use_tokens=use_tokens)
463
        if not visible:
464
            form.attrs['style'] = 'display: none;'
465
        if self.keywords:
466
            form.attrs['data-keywords'] = ' '.join(self.keywords_list)
467 467
        on_disabled_page = False
468 468
        on_page = False
469 469
        for field in self.fields:
470
-