Projet

Général

Profil

Development #22607

transmettre l'url de la page avec les factures à payer au formulaire de payment d'une facture distante

Ajouté par Serghei Mihai il y a environ 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
19 mars 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Le variable next_url permettant de revenir sur une page après paiement sur le site de la banque n'est présent que dans le formulaire de paiement du panier.
Il faudrait rajouter la même chose dans le formulaire de paiement d'une facture.


Fichiers

Révisions associées

Révision dbd744e3 (diff)
Ajouté par Serghei Mihai il y a environ 6 ans

lingo: add active invoices page url in invoice payment form (#22607)

Historique

#2

Mis à jour par Serghei Mihai il y a environ 6 ans

Avec retour vers la page à l'origine de paiement.

#3

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

Je me dis qu'on pourrait s'en sortir simplement avec le Referer.

         ret['next_url'] = request.META.get('HTTP_REFERER', '')

Ça évite de passer une page et ça marchera un peu partout.

#4

Mis à jour par Frédéric Péters il y a environ 6 ans

Le referer attention de moins en moins utilisable (ex dernier firefox en mode privé il n'y a plus le chemin).

#5

Mis à jour par Benjamin Dauvergne il y a environ 6 ans

Ok, ack.

#6

Mis à jour par Frédéric Péters il y a environ 6 ans

Euh non, pas cell.page.slug.

On essaie par ailleurs de retirer l'unicité sur le slug.

#7

Mis à jour par Frédéric Péters il y a environ 6 ans

#9

Mis à jour par Frédéric Péters il y a environ 6 ans

Je suis peut-être perdu par des commentaires sans rapport; le dernier bout du patch il se site à cet endroit :

    # simulate successful return URL
    mock_get.side_effect = ConnectionError('where is my hostname?')

qui malgré le commentaire sonne plutôt comme un test sur un échec. Surtout que c'est dans test_remote_item_payment_failure.

Mais ici le patch, il ne me semble pas vouloir de comportement particulier selon la réussite ou l'échec (contrairement au panier où on renvoie vers le panier uniquement en cas d'échec); et du coup pareil bizarre d'être dans test_remote_item_payment_failure.

ret.update({'page': active_items_page})

Je trouve que ça devrait quand même être plus clair d'écrire ret['page'] = active_items_page.

(et misère, arrêtons d'appeler ça items, il s'agit de factures.

#10

Mis à jour par Serghei Mihai il y a environ 6 ans

Ok. Commentaire corrigé.

Je rajoute un test en plus pour un paiement réussi et vérification de la redirection..

#11

Mis à jour par Frédéric Péters il y a environ 6 ans

Le mot "item" continue à se trouver dans le premier test et dans le message de commit.

~~

Ça a été testé de bout en bout en vrai ? De mon côté (connecteur "fausses factures" et backend de paiement "dummy") ça ne marche pas parce que

375                 request.session.setdefault('lingo_next_url',
376  ->                                 {})[transaction.order_id] = request.build_absolute_uri(next_url)

ajoute l'info next_url mais la session n'est pas enregistrée avec cette nouvelle info et du coup quand on arrive ici :

542  ->         if transaction and request.session.get('lingo_next_url'):
543                 redirect_url = request.session['lingo_next_url'].get(transaction.order_id)

on récupère None et on n'est pas renvoyé à l'endroit attendu.

#12

Mis à jour par Frédéric Péters il y a environ 6 ans

--- a/combo/apps/lingo/views.py
+++ b/combo/apps/lingo/views.py
@@ -373,6 +373,7 @@ class PayView(View):
             # it if payment is canceled
             request.session.setdefault('lingo_next_url',
                                 {})[transaction.order_id] = request.build_absolute_uri(next_url)
+            request.session.modified = True

         # XXX: mark basket items as being processed (?)

#13

Mis à jour par Frédéric Péters il y a environ 6 ans

  • Projet changé de Combo à Lingo
  • Sujet changé de lingo: transmettre l'url de la page avec les factures à payer au formulaire de payment d'une facture distante à transmettre l'url de la page avec les factures à payer au formulaire de payment d'une facture distante
#14

Mis à jour par Frédéric Péters il y a environ 6 ans

Le bout concernant lingo_next_url désormais dans #22933.

#15

Mis à jour par Serghei Mihai il y a environ 6 ans

Patch avec le message de commit corrigé. Testé en local après avoir appliqué le patch de #22933

#16

Mis à jour par Thomas Noël il y a environ 6 ans

Ack

#17

Mis à jour par Serghei Mihai il y a environ 6 ans

  • Statut changé de En cours à Résolu (à déployer)
commit dbd744e3d2bd409e22b45266c18c5dd501502296 (origin/master)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Tue Apr 3 14:17:24 2018 +0200

    lingo: add active invoices page url in invoice payment form (#22607)
#18

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF