Projet

Général

Profil

0001-formdata-set-raw-value-to-False-in-variables-of-unch.patch

Frédéric Péters, 18 mai 2016 16:11

Télécharger (2,08 ko)

Voir les différences:

Subject: [PATCH] formdata: set raw value to False in variables of unchecked
 checkbox (#10981)

 tests/test_formdata.py | 18 ++++++++++++++++++
 wcs/formdata.py        |  2 +-
 2 files changed, 19 insertions(+), 1 deletion(-)
tests/test_formdata.py
434 434
    variables = formdata.get_substitution_variables()
435 435
    assert variables.get('form_var_xxx') == 'un'
436 436
    assert variables.get('form_var_xxx_raw') == '1'
437

  
438
def test_field_bool_substvars(pub):
439
    formdef = FormDef()
440
    formdef.name = 'foobar'
441
    formdef.fields = [fields.BoolField(id='0', label='checkbox', varname='xxx')]
442
    formdef.store()
443

  
444
    formdata = formdef.data_class()()
445

  
446
    formdata.data = {'0': False}
447
    variables = formdata.get_substitution_variables()
448
    assert variables.get('form_var_xxx') == 'False'
449
    assert variables.get('form_var_xxx_raw') is False
450

  
451
    formdata.data = {'0': True}
452
    variables = formdata.get_substitution_variables()
453
    assert variables.get('form_var_xxx') == 'True'
454
    assert variables.get('form_var_xxx_raw') is True
wcs/formdata.py
71 71
                    if formdata is not None:
72 72
                        new_data['var_%s_url' % field.varname] = '%sdownload?f=%s' % (
73 73
                                formdata.get_url(), field.id)
74
                elif raw_value:
74
                elif raw_value is not None:
75 75
                    new_data['var_%s_raw' % field.varname] = raw_value
76 76
            if field.store_structured_value and data is not None:
77 77
                structured_value = data.get('%s_structured' % field.id)
78
-