Bug #86146
toulouse-maelis: panier validé sans identifiant
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/120215/
failed to POST https://passerelle-famille-loisirs.eservices.toulouse-metropole.fr/toulouse-maelis/maelis/validate-basket?orig=famille-loisirs.eservices.toulouse-metropole.fr&NameID=c7e4159fce3045268322698f61a356b0&algo=sha256×tamp=2024-01-25T18%3A00%3A25Z&nonce=ec13cf1a611db6fe7b2998981685c409&signature=XSPH6btdofw%2BhnXsLuidKjA7MvvlHRDcugtjyL7%2BURg%3D (400)Body :
- action: validate
- basket_id:
Fichiers
Historique
Mis à jour par Nicolas Roche il y a 3 mois
- Projet changé de Suivi des traces à Passerelle
- Sujet changé de parsifal, panier validé sans identifiant à toulouse-maelis: panier validé sans identifiant
- Description mis à jour (diff)
- Assigné à mis à Nicolas Roche
Je comprend pas comment combo peut faire cette requête (de validation du panier) au connecteur sans passer d'identifiants,
pour moi le template ne le permet pas :
https://git.entrouvert.org/entrouvert/publik-base-theme/src/branch/main/templates/variants/toulouse-2022/combo/json/toulouse-maelis-basket.html
{% for basket in json.data %} <form method="POST" action="{{ site_base }}{% url 'combo-public-ajax-page-cell' page_pk=cell.page.id cell_reference=cell.get_reference %}"> <input type="hidden" name="action" value="validate"> <input type="hidden" name="basket_id" value="{{ basket.id }}"> <button class="theme-basket--validate-button">Valider</button> </form> {% endfor %}
Ça voudrais dire que des paniers retournés par Maélis n'auraient pas d'identifiants.
Mis à jour par Nicolas Roche il y a 3 mois
Ça voudrais dire que des paniers retournés par Maélis n'auraient pas d'identifiants.
Non. Pour ce NameID aucun panier n'a jamais été renvoyé :
con = ToulouseMaelis.objects.get(slug='maelis') con.link_set.get(name_id='7d9a2fce74d9440bad42a2adac3c6b1c').family_id -> '190631' logs1 = ResourceLog.objects.filter(appname='toulouse-maelis', slug='maelis', message__contains='ActivityService (=> 200)') logs2 = [x for x in logs1 if 'getFamilyBasket' in x.extra.get('request_payload', '')] logs3 = [x for x in logs2 if '<numFamily>190631' in x.extra.get('request_payload', '')] [x.extra['response_content'] for x in logs3]
edit: j'ai pris le NameID trouvé dans les traces ce matin, mais j'ai le même résultat avec le NameID du ticket,
et je ne trouve aucun panier renvoyé sans identifiant.
[x.extra['response_content'] for x in logs2 if '<id></id>' in x.extra['response_content']]
Mis à jour par Nicolas Roche il y a 3 mois
- Statut changé de Nouveau à Information nécessaire
- Assigné à changé de Nicolas Roche à Benjamin Dauvergne
Benjamin, tu saurais m'orienter vers une piste à creuser ?
Et sinon, je remplace l'APIError (sur get_basket_raw) par un warning ?
Mis à jour par Benjamin Dauvergne il y a 3 mois
De mon coté j'ai regardé le connector_result de tous les appels get-baskets non vide, sur aucun l'attribut "id" ne manque sur les paniers.
Je pencherai plutôt pour un manque de contrôle de json.err dans le template et la présence de données autres dans json.data car les SOAPError produisent un champ data (une mauvaise idée finalement) :
class SOAPFault(SOAPError): log_error = False def __init__(self, client, fault): detail = fault.detail if isinstance(detail, etree._Element): fault.detail = etree.tostring(detail).decode() elif isinstance(detail, bytes): fault.detail = detail.decode() super().__init__( f'SOAP service at {client.wsdl.location} returned an error "{fault.message or fault.code}"', data={ 'soap_fault': fault.__dict__, }, )
Mis à jour par Benjamin Dauvergne il y a 3 mois
- Assigné à changé de Benjamin Dauvergne à Nicolas Roche
Mis à jour par Benjamin Dauvergne il y a 3 mois
Il faut faire le tour de tous les templates Maelis du thème et bien vérifier qu'on teste json.err et qu'on affiche un message d'erreur temporaire.
Mis à jour par Nicolas Roche il y a 3 mois
- Fichier Screenshot 2024-01-26 at 14-31-13 Panier maélis DEV.png Screenshot 2024-01-26 at 14-31-13 Panier maélis DEV.png ajouté
- Statut changé de Information nécessaire à En cours
Merci (je reproduis) !
Mis à jour par Nicolas Roche il y a 3 mois
- Projet changé de Passerelle à Intégrations graphiques Publik
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de En cours à Solution proposée
Nicolas Roche (nroche) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/publik-base-theme/pulls/500
- Titre : toulouse-2022 [parsifal] manage error on templates (#86146)
- Modifications : https://git.entrouvert.org/entrouvert/publik-base-theme/pulls/500/files
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution proposée à En cours
Benjamin Dauvergne (bdauvergne) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de En cours à Solution proposée
Nicolas Roche (nroche) a demandé une relecture de Benjamin Dauvergne (bdauvergne) sur une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution proposée à Solution validée
Benjamin Dauvergne (bdauvergne) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Solution validée à Résolu (à déployer)
Nicolas Roche (nroche) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/publik-base-theme/pulls/500
- Titre : toulouse-2022 [parsifal] manage error on templates (#86146)
- Modifications : https://git.entrouvert.org/entrouvert/publik-base-theme/pulls/500/files
Mis à jour par Transition automatique il y a 3 mois
- Statut changé de Résolu (à déployer) à Solution déployée