forms: do not keep empty values when parsing ComputedExpressionWidget (#31823)
This commit is contained in:
parent
0cf37e198d
commit
e4a16a37c4
|
@ -2688,7 +2688,12 @@ def test_workflows_edit_sms_action(pub):
|
|||
resp = resp.form.submit().follow()
|
||||
|
||||
resp = resp.click('SMS')
|
||||
resp = resp.form.submit()
|
||||
resp = resp.form.submit('to$add_element')
|
||||
resp = resp.form.submit('to$add_element')
|
||||
resp = resp.form.submit('to$add_element')
|
||||
resp.form['to$element1$value_text'] = '12345'
|
||||
resp = resp.form.submit('submit')
|
||||
assert Workflow.get(workflow.id).possible_status[0].items[0].to == ['12345']
|
||||
|
||||
def test_workflows_edit_display_form_action(pub):
|
||||
create_superuser(pub)
|
||||
|
|
|
@ -514,6 +514,12 @@ def test_computed_expression_widget():
|
|||
assert widget.parse() == 'hello world'
|
||||
assert not widget.has_error()
|
||||
|
||||
widget = ComputedExpressionWidget('test')
|
||||
form = MockHtmlForm(widget)
|
||||
mock_form_submission(req, widget, {'test$value_text': '', 'test$type': ['text']})
|
||||
assert widget.parse() == None
|
||||
assert not widget.has_error()
|
||||
|
||||
widget = ComputedExpressionWidget('test')
|
||||
mock_form_submission(req, widget, {'test$value_python': 'hello world', 'test$type': ['python']})
|
||||
assert widget.has_error()
|
||||
|
|
|
@ -2366,9 +2366,9 @@ class ComputedExpressionWidget(CompositeWidget):
|
|||
if not self.get('type'):
|
||||
return
|
||||
value_type = self.get('type')
|
||||
value_content = self.get('value_%s' % value_type) or ''
|
||||
value_content = self.get('value_%s' % value_type)
|
||||
if value_type == 'python':
|
||||
self.value = '=' + value_content
|
||||
self.value = '=' + (value_content or '')
|
||||
else:
|
||||
self.value = value_content
|
||||
if self.value:
|
||||
|
|
Loading…
Reference in New Issue