fields: implement block field json serialization (#68964) #24

Merged
vdeniaud merged 1 commits from wip/68964-representation-publique-du-conte into main 2023-01-16 09:41:07 +01:00
Owner

(nécessaire également pour les tests)

(nécessaire également pour les tests)
fpeters requested changes 2023-01-10 17:55:45 +01:00
fpeters left a comment
Owner

Merci d'être parti là-dessus.

Merci d'être parti là-dessus.
@ -664,2 +682,4 @@
}
],
}
Owner

Je verrais bien un test qui fasse le roundtrip export/import et assure que c'est ok. Là c'est un peu trop éparpillé avec juste dans tests/api/test_formdata.py::test_formdata une rapide vérification de ce qu'on reçoit en représentation json.

Je verrais bien un test qui fasse le roundtrip export/import et assure que c'est ok. Là c'est un peu trop éparpillé avec juste dans tests/api/test_formdata.py::test_formdata une rapide vérification de ce qu'on reçoit en représentation json.
Author
Owner

Yes, ajouté

Yes, ajouté
wcs/api.py Outdated
@ -77,3 +77,3 @@
data.update(data.pop('_unnamed'))
# create a temporary formdata so datasources using previous fields in
# create a temporary feed so datasources using previous fields in
Owner

C'est l'alimentation (feed) du contexte qui est temporaire, on ne crée pas de "temporary feed".

C'est l'alimentation (feed) du contexte qui est temporaire, on ne crée pas de "temporary feed".
vdeniaud marked this conversation as resolved
@ -83,3 +81,2 @@
with get_publisher().substitutions.temporary_feed(transient_formdata, force_mode='lazy'):
with get_publisher().substitutions.temporary_feed(data, force_mode='lazy'):
# complete/adapt field values
Owner

C'est quand même très délicat ici de passer d'un formdata (avec donc une représentation totale des champs et leurs subtilités) à juste un dictionnaire, ça représente peut-être une absence de test. Je n'oserais pas valider ça.

C'est quand même très délicat ici de passer d'un formdata (avec donc une représentation totale des champs et leurs subtilités) à juste un dictionnaire, ça représente peut-être une absence de test. Je n'oserais pas valider ça.
Owner

Ah non parfait un test échoue justement là-dessus.

Ah non parfait un test échoue justement là-dessus.
Author
Owner

Il n'échoue pas là dessus, pour qu'il passe ce qu'il faut revert du patch c'est

     with get_publisher().substitutions.temporary_feed(data, force_mode='lazy'):
         # complete/adapt field values
-        for field in fields:
+        for field in formdef.get_all_fields():

Noté ta remarque cependant, je vais reprendre tout ça en gardant un formdata.

Il n'échoue pas là dessus, pour qu'il passe ce qu'il faut revert du patch c'est ``` with get_publisher().substitutions.temporary_feed(data, force_mode='lazy'): # complete/adapt field values - for field in fields: + for field in formdef.get_all_fields(): ``` Noté ta remarque cependant, je vais reprendre tout ça en gardant un formdata.
Author
Owner

Vérification trop rapide, c'était bien la suppression du formdata qui provoquait l'échec du test. Du coup je l'ai dupliqué pour le cas bloc de champs.

Vérification trop rapide, c'était bien la suppression du formdata qui provoquait l'échec du test. Du coup je l'ai dupliqué pour le cas bloc de champs.
vdeniaud force-pushed wip/68964-representation-publique-du-conte from 9dff02f90d to 9c588ce300 2023-01-11 12:37:10 +01:00 Compare
vdeniaud requested review from fpeters 2023-01-11 12:41:12 +01:00
Author
Owner

(le bouton pour demander à nouveau une relecture devrait pas faire passer le ticket redmine en solution proposée ? ou il y a un autre moyen pour faire ça ?)

(le bouton pour demander à nouveau une relecture devrait pas faire passer le ticket redmine en solution proposée ? ou il y a un autre moyen pour faire ça ?)
Owner

(le bouton pour demander à nouveau une relecture devrait pas faire passer le ticket redmine en solution proposée ? ou il y a un autre moyen pour faire ça ?)

c'est https://dev.entrouvert.org/issues/73091

> (le bouton pour demander à nouveau une relecture devrait pas faire passer le ticket redmine en solution proposée ? ou il y a un autre moyen pour faire ça ?) c'est https://dev.entrouvert.org/issues/73091
vdeniaud force-pushed wip/68964-representation-publique-du-conte from 9c588ce300 to 7114689ce9 2023-01-12 14:52:57 +01:00 Compare
Author
Owner

(mini bout en plus pour inclure les champs sans identifiants)

(mini bout en plus pour inclure les champs sans identifiants)
vdeniaud force-pushed wip/68964-representation-publique-du-conte from 7114689ce9 to 037148c564 2023-01-12 15:27:13 +01:00 Compare
Author
Owner

(et encore un mini bout pour le support des dates (c'est à dire reconstruire le schéma à l'import))

(et encore un mini bout pour le support des dates (c'est à dire reconstruire le schéma à l'import))
fpeters approved these changes 2023-01-14 11:00:56 +01:00
vdeniaud merged commit b7d358cfce into main 2023-01-16 09:41:07 +01:00
vdeniaud deleted branch wip/68964-representation-publique-du-conte 2023-01-16 09:41:07 +01:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#24
No description provided.