Bug #56006
Caluire Axel: rendre get_invoice utilisable sans NameID
0%
Description
Pour permettre le paiement anonyme.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Lié à Support #55998: *_axel: le paiement anonyme ne doit pas fonctionner ajouté
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-caluire-axel-check-DUI-on-pay_invoice-endpoint-56006.patch 0001-caluire-axel-check-DUI-on-pay_invoice-endpoint-56006.patch ajouté
- Tracker changé de Support à Bug
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
J'ai retiré le kwargs
comme c'est fait sur les autres endpoints de facturation,
mais j'avoue que j'en suis un peu mal à l'aise parce-que je n'ai pas d'environnement pour tester l'appel fait par Lingo.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Ah ben le paiement anonyme va encore moins fonctionner maintenant :/ pay_invoice fonctionne correctement parce qu'il ne traite pas le NameID c'est get_invoice qui pose problème, il n'est pas utilisable sans NameID, sur caluire_axel et toulouse_axel.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Benjamin Dauvergne a écrit :
Ah ben le paiement anonyme va encore moins fonctionner maintenant :/ pay_invoice fonctionne correctement parce qu'il ne traite pas le NameID c'est get_invoice qui pose problème, il n'est pas utilisable sans NameID, sur caluire_axel et toulouse_axel.
On a pas de problème avec get_invoices() parce qu'il n'est pas sensé être utilisé sans préciser d'utilisateur.
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Sujet changé de Caluire Axel: vérifier le DUI sur le endpoint pay_invoice à Caluire Axel: rendre get_invoice utilisable sans NameID
- Description mis à jour (diff)
- Statut changé de Solution proposée à En cours
Ok, faire tout l'inverse...
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-caluire-axel-allow-to-call-invoice-endpoint-anonymou.patch 0001-caluire-axel-allow-to-call-invoice-endpoint-anonymou.patch ajouté
- Statut changé de En cours à Solution proposée
Fait (bien que j'ai pas encore compris comment est lancé un paiement anonyme).
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à En cours
Il ne faut pas vérifier le lien NameID / family_id, c'est libre. Sinon quelqu'un qui reçoit un lien mais qui n'a pas encore de liaison sera bloqué sans raison compréhensible, alors que non connecté il ne l'était pas.
Nicolas Roche a écrit :
Fait (bien que j'ai pas encore compris comment est lancé un paiement anonyme).
Tu reçois un mail envoyé par combo.apps.lingo.models.Regie.notify_remote_invoice_by_email(...)
dedans tu as un lien vers payment_url
où :
payment_url = reverse('view-item', kwargs={'regie_id': self.id, 'item_crypto_id': invoice.crypto_id})
tu clique sur le lien. La vue view-item ne nécessitant pas d'authentification, ça donne un paiement anonyme. Ce n'est pas un bug, c'est une fonctionnalité pour permettre aux gens, déjà de ne pas passer par une création de compte pour payer une facture mais aussi pour permette à n'importe qui de payer la facture sans avoir les identifiants d'un compte métier (famille ou autre).
Ça marche aussi en copie/collant l'URL depuis le lien "Voir et payer" de la cellule "Factures actives" (ça pointe sur view-item) et en la filant à quelqu'un qui n'est pas connecté.
En fait aucune des vues publiques de lingo ne nécessite d'authentification à part ItemDownloadView la mal nommée (ça devrait être InvoicePdfView).
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Fichier 0001-caluire-axel-allow-to-call-invoice-endpoint-anonymou.patch 0001-caluire-axel-allow-to-call-invoice-endpoint-anonymou.patch ajouté
- Statut changé de En cours à Solution proposée
Il ne faut pas vérifier le lien NameID / family_id, c'est libre. Sinon quelqu'un qui reçoit un lien mais qui n'a pas encore de liaison sera bloqué sans raison compréhensible, alors que non connecté il ne l'était pas.
merci, je n'y avais pas pensé.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Nicolas Roche il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit afc79d64c3dc1a59d6abab9b2f00ee2074990153 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Aug 26 12:35:17 2021 +0200 caluire-axel: allow to call invoice endpoint anonymously (#56006)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
caluire-axel: allow to call invoice endpoint anonymously (#56006)