diff --git a/tests/test_formdata.py b/tests/test_formdata.py index 0bb4ed684..7189b45a3 100644 --- a/tests/test_formdata.py +++ b/tests/test_formdata.py @@ -228,6 +228,7 @@ def test_get_submitter(pub, formdef): formdef.fields = [ fields.StringField(id='0', label='email', varname='foo', prefill={'type': 'user', 'value': 'email'}), fields.BlockField(id='1', label='test', type='block:foobar', max_items=3, varname='block'), + fields.StringField(id='2', label='other'), ] formdef.store() @@ -263,6 +264,9 @@ def test_get_submitter(pub, formdef): formdata.data = {'1': {}} assert formdef.get_submitter_email(formdata) is None + formdata.data = {'2': 'other'} + assert formdef.get_submitter_email(formdata) is None + formdata.data = { '0': 'foo@localhost', '1': { diff --git a/wcs/formdef.py b/wcs/formdef.py index 3658e94fb..b45cceacd 100644 --- a/wcs/formdef.py +++ b/wcs/formdef.py @@ -1352,7 +1352,7 @@ class FormDef(StorableObject): if not is_user_field(subfield): continue v = formdata.data.get(field.id) - if not v.get('data'): + if not (v and v.get('data')): continue for data in v.get('data'): w = data.get(subfield.id)