forms: fix free length table error check to ignore its emptiness (#39072)

This commit is contained in:
Frédéric Péters 2020-01-17 16:03:29 +01:00
parent 107f0edaa3
commit 08e085d5b9
2 changed files with 12 additions and 1 deletions

View File

@ -2972,6 +2972,17 @@ def test_form_new_table_rows_field_draft_recall(pub):
assert formdef.data_class().select()[0].data['1'] == 'test'
assert formdef.data_class().select()[0].data['3'] is None
def test_form_table_rows_field_and_prefill(pub, emails):
formdef = create_formdef()
formdef.fields = [
fields.TableRowsField(id='0', label='table', type='tablerows', columns=['a', 'b'], required=True),
fields.StringField(id='1', label='string', prefill={'type': 'string', 'value': 'HELLO WORLD'}),
]
formdef.store()
formdef.data_class().wipe()
resp = get_app(pub).get('/test/')
def test_formdata_attachment_download(pub):
create_user(pub)
wf = Workflow(name='status')

View File

@ -1741,7 +1741,7 @@ class TableListRowsWidget(WidgetListAsTable):
if (request.form or request.get_method() == 'POST') and self.required:
if not self.value and not add_element_pushed:
self.set_error(self.REQUIRED_ERROR)
for row in self.value:
for row in self.value or []:
for column in row:
if column:
break