Anomalie #18841
ferméErreur d’enregistrement des JSON vides
Description
Lors de la création / mise-à-jour d’une entité notamment, les champs de type jsonb
en SQL sont initialisés à []
au lieu de {}
.
Impact : le champ external_id
prend la mauvaise valeur []
et non {}
lorsqu’il devient vide. En outre, ceci bloque par la suite l’insertion des external_id
tels que l’UID Multigest ou l’identifiant dans le parapheur externe.
Correction proposée : ajouter aux appels de json_encode()
le flag JSON_FORCE_OBJECT
(back, PHP). Voir https://www.php.net/manual/fr/json.constants.php
Mis à jour par Emmanuel DILLARD il y a presque 3 ans
- Echéance mis à 29/11/2021
- Statut changé de A traiter à R&D - A étudier
Mis à jour par Emmanuel DILLARD il y a presque 3 ans
- Echéance changé de 29/11/2021 à 22/12/2021
- Statut changé de R&D - A étudier à R&D - A planifier
- Priorité changé de 2-Sérieux à 1-Majeur
Mis à jour par Quentin RIBAC il y a presque 3 ans
Après test, on remarquera que l’action de JSON_FORCE_OBJECT est récursive : si un objet contient un tableau, ce tableau sera en fait stocké sous format objet.
Si cela présente un risque, utiliser plutôt quelque chose comme coalesce(data, '{}'::jsonb)
en SQL.
Mis à jour par Emmanuel DILLARD il y a presque 3 ans
- Statut changé de R&D - A planifier à R&D - En cours
Mis à jour par GIT LAB il y a presque 3 ans
Commit ajouté sur la branche fix/18841/develop de MaarchCourrier par Mathieu mathieu.pionnier@maarch.org
FIX #18841 TIME 0:15 Empty JSON registration error
https://labs.maarch.org/maarch/MaarchCourrier/commit/5ab020e20d3451f914675a1fc33649541f46e585
Mis à jour par GIT LAB il y a presque 3 ans
[MERGE REQUEST] Mergé sur 21.03 (https://labs.maarch.org/maarch/MaarchCourrier/-/merge_requests/547)
Mis à jour par Quentin RIBAC il y a presque 3 ans
- Statut changé de R&D - En cours à R&D - En test
Mis à jour par GIT LAB il y a presque 3 ans
[MERGE REQUEST] Mergé sur develop (https://labs.maarch.org/maarch/MaarchCourrier/-/merge_requests/546)
Mis à jour par Hamza HRAMCHI il y a presque 3 ans
- Statut changé de R&D - En test à R&D - Terminé