api: check file fields when creating geojson (#89831) #1428
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/89831-geojson-none-file"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
fc2afbed9a
to318fd9bc58
@ -3048,6 +3048,65 @@ def test_api_geojson_formdata_related_field(pub, local_user):
assert properties['item - foobar'] == 'test.txt'
def test_api_geojson_formdata_file_in_block_field(pub, local_user):
Le bug se révèle être sutr la situation d'un bloc de champs, avec un champ fichier, et une colonne (et de ce fait une propriété dans le geosjon) configurée pour afficher le champ fichier du bloc de champs.
@ -3051,0 +3090,4 @@
resp = get_app(pub).get(sign_uri('/api/forms/test/geojson?filter=all&1=on', user=local_user))
assert len(resp.json['features']) == 1
assert resp.json['features'][0]['properties']['id'] == '1-1'
assert resp.json['features'][0]['properties']['display_fields'][0]['value'] == 'test.txt'
En reproduisant, je me suis rendu compte que la sortie pour le bloc en lui-même, dans le geojson, n'était pas exploitable, donc plutôt juste inclure la valeur "display".
@ -3051,0 +3097,4 @@
assert len(resp.json['features']) == 1
assert resp.json['features'][0]['properties']['id'] == '1-1'
assert resp.json['features'][0]['properties']['display_fields'][0]['value'] == 'test.txt'
assert 'download?f=1$0$123' in resp.json['features'][0]['properties']['display_fields'][0]['html_value']
Ici ça correspond au cas précis de la trace sentry.
@ -3051,0 +3104,4 @@
assert len(resp.json['features']) == 1
properties = {x['label']: x['value'] for x in resp.json['features'][0]['properties']['display_fields']}
assert properties['test'] == 'test.txt'
assert 'file' not in properties
Avec full=on, les champs des blocs de champs se trouvaient mis au même niveau que les autres champs, ça pouvait amener une certaine confusion dans les propriétés, j'ai opté pour que full=on ne crée pas de propriétés pour les champs des blocs de champs.
WIP: api: check file fields when creating geojson (#89831)to api: check file fields when creating geojson (#89831)