0001-misc-add-custom-handling-of-empty-string-when-settin.patch
tests/test_formdata.py | ||
---|---|---|
3338 | 3338 |
assert variables.get('form_var_block') == '---' # placeholder for empty value |
3339 | 3339 | |
3340 | 3340 | |
3341 |
def test_block_set_value_to_empty_string(pub): |
|
3342 |
BlockDef.wipe() |
|
3343 |
FormDef.wipe() |
|
3344 | ||
3345 |
block = BlockDef() |
|
3346 |
block.name = 'foobar' |
|
3347 |
block.fields = [ |
|
3348 |
fields.StringField(id='234', required=True, label='Test2', type='string', varname='bar'), |
|
3349 |
] |
|
3350 |
block.store() |
|
3351 | ||
3352 |
formdef = FormDef() |
|
3353 |
formdef.name = 'testblock' |
|
3354 |
formdef.fields = [ |
|
3355 |
fields.BlockField(id='1', label='test', type='block:foobar', max_items=3, varname='block'), |
|
3356 |
] |
|
3357 |
formdef.store() |
|
3358 | ||
3359 |
formdata = formdef.data_class()() |
|
3360 |
formdata.data = {} |
|
3361 |
formdef.fields[0].set_value(formdata.data, '') |
|
3362 |
formdata.store() |
|
3363 |
assert formdata.data.get('1') is None |
|
3364 |
assert formdata.data.get('1_display') is None |
|
3365 | ||
3366 | ||
3341 | 3367 |
def test_items_field_getlist(pub): |
3342 | 3368 |
NamedDataSource.wipe() |
3343 | 3369 |
data_source = NamedDataSource(name='foobar') |
wcs/fields.py | ||
---|---|---|
3484 | 3484 |
cells[i] = self.block.get_display_value(subvalue) |
3485 | 3485 |
return cells |
3486 | 3486 | |
3487 |
def set_value(self, data, value, **kwargs): |
|
3488 |
if value == '': |
|
3489 |
value = None |
|
3490 |
super().set_value(data, value, **kwargs) |
|
3491 | ||
3487 | 3492 |
def get_json_value(self, value, **kwargs): |
3488 | 3493 |
from wcs.formdata import FormData |
3489 | 3494 | |
3490 |
- |