Project

General

Profile

Anomalie #18841

Erreur d’enregistrement des JSON vides

Added by Quentin RIBAC about 1 year ago. Updated 11 months ago.

Status:
Développé / Analysé (S)
Priority:
1-Majeur
Assignee:
Mathieu PIONNIER
Target version:
Start date:
11/25/2021
Due date:
12/22/2021
Tags Courrier:

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

History

#1 Updated by Quentin RIBAC about 1 year ago

  • Target version set to 21.03

#2 Updated by Emmanuel DILLARD about 1 year ago

  • Due date set to 11/29/2021
  • Status changed from A traiter to A étudier

#3 Updated by Emmanuel DILLARD about 1 year ago

  • Due date changed from 11/29/2021 to 12/22/2021
  • Status changed from A étudier to Prêt à embarquer
  • Priority changed from 2-Sérieux to 1-Majeur

#4 Updated by Quentin RIBAC about 1 year ago

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.

#5 Updated by Hamza HRAMCHI 12 months ago

  • Assignee set to Mathieu PIONNIER

#6 Updated by Emmanuel DILLARD 12 months ago

  • Status changed from Prêt à embarquer to En cours de dev (S)

#7 Updated by GIT LAB 11 months ago

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

#9 Updated by Quentin RIBAC 11 months ago

  • Status changed from En cours de dev (S) to A tester (S)

#10 Updated by GIT LAB 11 months ago

#12 Updated by Hamza HRAMCHI 11 months ago

  • Status changed from A tester (S) to Développé / Analysé (S)

Also available in: Atom PDF