diff --git a/passerelle/contrib/greco/formdata.py b/passerelle/contrib/greco/formdata.py index ad18f0a8..e66e3fdf 100644 --- a/passerelle/contrib/greco/formdata.py +++ b/passerelle/contrib/greco/formdata.py @@ -117,13 +117,15 @@ class FormData: self.fields[fieldname] = value if isinstance(value, datetime): value = value.strftime('%Y-%m-%dT%H:%M:%S') - if '_' not in fieldname: - self.json[fieldname] = value - continue - key, subkey = fieldname.split('_') - if key not in self.json: - self.json[key] = {} - self.json[key][subkey] = value + else: + value = '' + if '_' not in fieldname: + self.json[fieldname] = value + continue + key, subkey = fieldname.split('_') + if key not in self.json: + self.json[key] = {} + self.json[key][subkey] = value # https://dev.entrouvert.org/issues/75259 danger = self.json.get('danger', '') diff --git a/tests/test_greco.py b/tests/test_greco.py index 3da5c787..6f5c0f0e 100644 --- a/tests/test_greco.py +++ b/tests/test_greco.py @@ -246,6 +246,8 @@ def test_greco_rest_create_ok(app, rest_conn): assert json_part.headers[b'Content-Type'] == b'application/json' demande_creation = json.loads(json_part.content) assert demande_creation['application'] == '69999' + assert demande_creation['beneficiaire']['fax'] == '' + assert demande_creation['beneficiaire']['numerovoie'] == '' assert demande_creation['localisation']['xgeoloc'] == '50.89491' assert demande_creation['localisation']['ygeoloc'] == '4.34151' assert demande_creation['transmetteur']['nom'] == 'Vertommen'