Projet

Général

Profil

0001-forms-do-not-display-message-for-fields-prefilled-wi.patch

Frédéric Péters, 02 novembre 2015 13:57

Télécharger (2,8 ko)

Voir les différences:

Subject: [PATCH] forms: do not display message for fields prefilled with a
 fixed string (#8838)

 tests/test_form_pages.py | 26 ++++++++++++++++++++++++++
 wcs/forms/root.py        |  8 ++++++--
 2 files changed, 32 insertions(+), 2 deletions(-)
tests/test_form_pages.py
1008 1008
                {'id': '1', 'more': 'foo', 'text': 'un'},
1009 1009
                {'id': '3', 'more': 'baz', 'text': 'trois'}]}
1010 1010

  
1011
def test_form_page_string_prefill(pub):
1012
    user = create_user(pub)
1013
    formdef = create_formdef()
1014
    formdef.data_class().wipe()
1015
    formdef.fields = [fields.StringField(id='0', label='string',
1016
        prefill={'type': 'string', 'value': 'HELLO WORLD'})]
1017
    formdef.store()
1018

  
1019
    resp = get_app(pub).get('/test/')
1020
    assert resp.forms[0]['f0'].value == 'HELLO WORLD'
1021
    assert 'widget-prefilled' in resp.body
1022
    assert not 'Value has been automatically prefilled.' in resp.body
1023

  
1024
def test_form_page_formula_prefill(pub):
1025
    user = create_user(pub)
1026
    formdef = create_formdef()
1027
    formdef.data_class().wipe()
1028
    formdef.fields = [fields.StringField(id='0', label='string',
1029
        prefill={'type': 'formula', 'value': repr('HELLO WORLD')})]
1030
    formdef.store()
1031

  
1032
    resp = get_app(pub).get('/test/')
1033
    assert resp.forms[0]['f0'].value == 'HELLO WORLD'
1034
    assert 'widget-prefilled' in resp.body
1035
    assert 'Value has been automatically prefilled.' in resp.body
1036

  
1011 1037
def test_form_page_query_string_prefill(pub):
1012 1038
    user = create_user(pub)
1013 1039
    formdef = create_formdef()
wcs/forms/root.py
399 399
                        v = None
400 400
                    if v:
401 401
                        prefilled = True
402
                        form.get_widget('f%s' % k).set_message(
403
                                _('Value has been automatically prefilled.'))
402
                        if field.prefill and field.prefill.get('type') != 'string':
403
                            # unless we prefilled with a fixed string, we
404
                            # inform the user the field value has been
405
                            # prefilled.
406
                            form.get_widget('f%s' % k).set_message(
407
                                    _('Value has been automatically prefilled.'))
404 408
                        form.get_widget('f%s' % k).prefilled = True
405 409

  
406 410
                if field.prefill:
407
-