Projet

Général

Profil

Bug #65926

Pas possible de désactiver la localisation sur les appels webservices

Ajouté par Nicolas Roche il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
02 juin 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Dans un pappel WS,
https://demarches.peps.social.gouv.fr/backoffice/workflows/2/status/1/items/1/
je voudrais remplacer ce template :

{{form_var_montant|decimal|split:','|join:'.'}}

par
{% localize off %}{{form_var_montant|decimal}}{% endlocalize %}

Cela fonctionne dans l'inspecteur (on obtient 52.8 avec un point)
https://demarches.peps.social.gouv.fr/backoffice/management/centre-de-loisirs-journee/17/inspect
mais pas dans l'appel webservice (le connecteur reçoit 52,8 avec une virgule)
https://passerelle.peps.social.gouv.fr/manage/solis-afi-mss/aides-financieres/logs/?log_id=56804


Demandes liées

Lié à Passerelle - Bug #65925: POST https://solmin.solutions-implicit.fr/solisAPI/afi/aide/deposer/ (=> 500)Rejeté02 juin 2022

Actions

Historique

#1

Mis à jour par Nicolas Roche il y a presque 2 ans

  • Lié à Bug #65925: POST https://solmin.solutions-implicit.fr/solisAPI/afi/aide/deposer/ (=> 500) ajouté
#2

Mis à jour par Benjamin Dauvergne il y a presque 2 ans

Il faut utiliser le filtre |stringformat:"s".

#3

Mis à jour par Thomas Noël il y a presque 2 ans

Sur un post vers httpbin.org/post je ne reproduis pas ce bogue :
  • {{ "52.8"|decimal }} est reçu sous la forme "52,8" (virgule française)
  • {{ "52.8"|decimal|unlocalize }} est reçu sous la forme "52.8" (pas de virgule)
#4

Mis à jour par Nicolas Roche il y a presque 2 ans

  • Description mis à jour (diff)

Oui moi non plus, désolé, je me suis trompé dans la recopie de l'expression qui a posé problème.
Il s'agissait en fait de :

{% localize off %}{{form_var_montant|decimal}}{% endlocalize %}

Je corrige la description du ticket en conséquence.

#5

Mis à jour par Thomas Noël il y a presque 2 ans

  • Statut changé de Nouveau à Rejeté

{% localize off }{{form_var_montant|decimal}}{ endlocalize %}

Regarde mieux l'inspect :

Rendu du gabarit :
52.8
Interprété sous forme d’objet :
52.8 (nombre décimal)

en évaluation complexe ça renvoie donc un decimal et pas une string, donc c'est "normal" que ça ne marche pas, le résultat va se trouver casté en string et la virgule sera reposée à cet instant et voilà.

Avec |unlocalize, qui est la bonne solution, c'est différent : le résultat de {{form_var_montant|decimal|unlocalize}} est bien déjà une string qui sera envoyée telle quelle.

Formats disponibles : Atom PDF