0004-forms-do-not-keep-empty-values-when-parsing-Computed.patch
tests/test_admin_pages.py | ||
---|---|---|
2689 | 2689 | |
2690 | 2690 |
resp = resp.click('SMS') |
2691 | 2691 |
resp = resp.form.submit() |
2692 |
assert 'to$element0$value_text' in resp.form.fields.keys() |
|
2693 |
assert 'to$element1$value_text' not in resp.form.fields.keys() |
|
2694 | ||
2695 |
resp = resp.form.submit('submit') |
|
2696 |
resp = resp.follow() |
|
2697 |
resp = resp.follow() |
|
2698 |
resp = resp.click(href='items/1/', index=0) |
|
2699 |
assert 'to$element0$value_text' in resp.form.fields.keys() |
|
2700 |
assert 'to$element1$value_text' not in resp.form.fields.keys() |
|
2692 | 2701 | |
2693 | 2702 |
def test_workflows_edit_display_form_action(pub): |
2694 | 2703 |
create_superuser(pub) |
tests/test_widgets.py | ||
---|---|---|
514 | 514 |
assert widget.parse() == 'hello world' |
515 | 515 |
assert not widget.has_error() |
516 | 516 | |
517 |
widget = ComputedExpressionWidget('test') |
|
518 |
form = MockHtmlForm(widget) |
|
519 |
mock_form_submission(req, widget, {'test$value_text': '', 'test$type': ['text']}) |
|
520 |
assert widget.parse() == None |
|
521 |
assert not widget.has_error() |
|
522 | ||
517 | 523 |
widget = ComputedExpressionWidget('test') |
518 | 524 |
mock_form_submission(req, widget, {'test$value_python': 'hello world', 'test$type': ['python']}) |
519 | 525 |
assert widget.has_error() |
wcs/qommon/form.py | ||
---|---|---|
2364 | 2364 |
if not self.get('type'): |
2365 | 2365 |
return |
2366 | 2366 |
value_type = self.get('type') |
2367 |
value_content = self.get('value_%s' % value_type) or ''
|
|
2367 |
value_content = self.get('value_%s' % value_type) |
|
2368 | 2368 |
if value_type == 'python': |
2369 |
self.value = '=' + value_content |
|
2369 |
self.value = '=' |
|
2370 |
if value_content: |
|
2371 |
self.value += value_content |
|
2370 | 2372 |
else: |
2371 | 2373 |
self.value = value_content |
2372 | 2374 |
if self.value: |
2373 |
- |