Bug #65926
Pas possible de désactiver la localisation sur les appels webservices
0%
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
Historique
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é
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
Il faut utiliser le filtre |stringformat:"s"
.
Mis à jour par Thomas Noël il y a presque 2 ans
{{ "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)
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.
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.