0001-fields-fix-computed-value-with-lazylist-60600.patch
tests/form_pages/test_computed_field.py | ||
---|---|---|
767 | 767 |
logged_error = pub.loggederror_class.select(order_by='id')[1] |
768 | 768 |
assert logged_error.summary == 'Invalid value "True" for field "computed"' |
769 | 769 |
assert logged_error.formdef_id == formdef.id |
770 | ||
771 |
formdef.fields[0].value_template = '{{ cards|objects:"%s"|getlist:"id"|join:"," }}' % carddef.url_name |
|
772 |
formdef.store() |
|
773 |
resp = get_app(pub).get('/test/') |
|
774 |
assert 'XY' in resp.text |
|
775 |
if pub.is_using_postgresql(): |
|
776 |
assert pub.loggederror_class.count() == 3 |
|
777 |
logged_error = pub.loggederror_class.select(order_by='id')[2] |
|
778 |
assert 'Invalid value "<wcs.variables.LazyList object at' in logged_error.summary |
|
779 |
assert '>" for field "computed"' in logged_error.summary |
|
780 |
assert logged_error.formdef_id == formdef.id |
wcs/forms/root.py | ||
---|---|---|
675 | 675 |
and field.data_source.get('type') |
676 | 676 |
and field.data_source['type'].startswith('carddef:') |
677 | 677 |
): |
678 |
value = str(value) |
|
678 | 679 |
try: |
679 | 680 |
int(str(value)) |
680 | 681 |
except (TypeError, ValueError): |
681 |
- |