Développement #46503
lingo : pouvoir indiquer qu'une régie ne permet de payer qu'un item à la fois
0%
Description
Dans certain cas il faut absolument que les paiement sur une régie soient unitaire (parce que le BasketItem contient des détails à transmettre au backend de paiement), on doit pouvoir indiquer que c'est le cas au niveau de l'objet Regie et l'IHM doit s'adapter (avoir un bouton payer par item).
Files
Related issues
Associated revisions
lingo: move utils functions to file (#46503)
lingo: add payment_url property to basket item (#46503)
lingo: allow requiring individual payment for regie (#46503)
History
Updated by Valentin Deniaud over 4 years ago
- File 0001-lingo-fix-missing-migration-46503.patch 0001-lingo-fix-missing-migration-46503.patch added
- File 0002-lingo-allow-requiring-individual-payment-for-regie-4.patch 0002-lingo-allow-requiring-individual-payment-for-regie-4.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Updated by Valentin Deniaud over 4 years ago
- File 1600939727.png 1600939727.png added
- File 1600939686.png 1600939686.png added
- File 0001-scss-lingobasketcell-indivual-payment-support-46503.patch 0001-scss-lingobasketcell-indivual-payment-support-46503.patch added
Avec un début de patch publik-base-theme : il reste à faire un sort au lien « (supprimer) », je pense, peut-être le transformer en bouton ?
Updated by Benjamin Dauvergne over 4 years ago
Valentin Deniaud a écrit :
Avec un début de patch publik-base-theme : il reste à faire un sort au lien « (supprimer) », je pense, peut-être le transformer en bouton ?
Une croix rouge ? Mais je dirai de ne pas s'en occuper ici, on ouvrira un ticket publik-base-theme une fois ceci poussé, ça déplacera la discussion au bon endroit avec les bons interlocuteurs.
Pour les patchs :
- 0001 no soucy
- 0002 :
individual_payment ne me semble pas très clair, can_pay_only_one_basket_item
c'est un peu long mais on comprend tout de suite à quoi ça sert.
url(r'^lingo/pay/(?P<item_pk>\w+)/$$', PayView.as_view(), name='lingo-pay'),
On a déjà une vue BasketItemPayView, peut-être ce serait mieux de l'utiliser ?
Actuellement de tels URLs ne sont générés que par le web-service d'ajout d'un item (et donc ça n'est jamais utilisé pour les factures, uniquement pour les items ajoutés depuis un workflow), il faut peut-être vérifier quand même que ça marchera aussi pour des RemoteItem.
payment_url = reverse( 'basket-item-pay-view', kwargs={ 'item_signature': signing_dumps(item.pk) }) return JsonResponse({'result': 'success', 'id': str(item.id), 'payment_url': request.build_absolute_uri(payment_url)})
Ça vaut peut-être la peine d'ajouter un accesseur sur RemoteItem et BasketItem pour générer ces URLs (BasketItem.get_payment_url()).
Updated by Benjamin Dauvergne over 4 years ago
- Status changed from Solution proposée to En cours
(pour le fonctionnement global c'est parfait par contre, quelqu'un aura peut-être un avis sur la présentation dans le template par défaut)
Updated by Valentin Deniaud over 4 years ago
- File 0001-lingo-fix-missing-migration-46503.patch 0001-lingo-fix-missing-migration-46503.patch added
- File 0003-lingo-add-payment_url-property-to-basket-item-46503.patch 0003-lingo-add-payment_url-property-to-basket-item-46503.patch added
- File 0004-lingo-allow-requiring-individual-payment-for-regie-4.patch 0004-lingo-allow-requiring-individual-payment-for-regie-4.patch added
- File 0002-lingo-move-utils-functions-to-file-46503.patch 0002-lingo-move-utils-functions-to-file-46503.patch added
- Status changed from En cours to Solution proposée
Benjamin Dauvergne a écrit :
Mais je dirai de ne pas s'en occuper ici, on ouvrira un ticket publik-base-theme une fois ceci poussé
OK, je change un peu mon patch pour ne pas casser l'existant alors, deux ifs au lieu d'un.
individual_payment ne me semble pas très clair,
can_pay_only_one_basket_item
c'est un peu long mais on comprend tout de suite à quoi ça sert.
Moi je trouve le premier assez clair et le second vraiment trop long (et je ne sais jamais de qui on parle quand les noms des attributs commencent par can_). Pour l'instant j'ai juste étendu le verbose_name, m'enfin si tu insistes je ferai le sed.
On a déjà une vue BasketItemPayView, peut-être ce serait mieux de l'utiliser ?
Cool en plus c'est en GET, ça dégage le formulaire à actions multiples que j'avais dû bricoler.
il faut peut-être vérifier quand même que ça marchera aussi pour des RemoteItem
Je n'ai jamais joué avec ça, je n'ai pas de setup local pour tester, c'est un besoin immédiat du client ?
Updated by Benjamin Dauvergne over 4 years ago
Valentin Deniaud a écrit :
individual_payment ne me semble pas très clair,
can_pay_only_one_basket_item
c'est un peu long mais on comprend tout de suite à quoi ça sert.Moi je trouve le premier assez clair et le second vraiment trop long (et je ne sais jamais de qui on parle quand les noms des attributs commencent par can_). Pour l'instant j'ai juste étendu le verbose_name, m'enfin si tu insistes je ferai le sed.
Moi aussi je comprends, je suis sur le ticket avec toi, mais demande à ton voisin de table sans lui parler du ticket ce qu'il pense que ça veut dire :)
On a déjà une vue BasketItemPayView, peut-être ce serait mieux de l'utiliser ?
Cool en plus c'est en GET, ça dégage le formulaire à actions multiples que j'avais dû bricoler.
il faut peut-être vérifier quand même que ça marchera aussi pour des RemoteItem
Je n'ai jamais joué avec ça, je n'ai pas de setup local pour tester
Il y a déjà des tests autour de ça qu'on peut copier mais..
c'est un besoin immédiat du client ?
Non tu as raison, mais alors ajoute une erreur dans le clean du formulaire pour dire que Regie.individual_payment/can_bidule_machin est incompatible avec Regie.webservice_url, qu'on garde un trace pour traiter ça plus tard.
Updated by Valentin Deniaud over 4 years ago
- Related to Développement #47239: scss: ajustements pour lingobasketcell added
Updated by Valentin Deniaud over 4 years ago
Benjamin Dauvergne a écrit :
Moi aussi je comprends, je suis sur le ticket avec toi, mais demande à ton voisin de table sans lui parler du ticket ce qu'il pense que ça veut dire :)
Le télétravail t'a donné raison.
ajoute une erreur dans le clean du formulaire pour dire que Regie.individual_payment/can_bidule_machin est incompatible avec Regie.webservice_url
Done, branche à jour.
Updated by Benjamin Dauvergne over 4 years ago
- Status changed from Solution proposée to En cours
Build lapin content.
Updated by Valentin Deniaud over 4 years ago
- Status changed from En cours to Solution proposée
Benjamin Dauvergne a écrit :
Build lapin content.
Fail de sed, ça devrait aller mieux.
Updated by Benjamin Dauvergne over 4 years ago
- Status changed from Solution proposée to Solution validée
Go. Je vais soumettre le ticket #46504 dans la foulée.
Updated by Valentin Deniaud over 4 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit 4ff5f921c1cb0d56c59a756415137e0e81941eb2 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Sep 23 14:29:19 2020 +0200 lingo: allow requiring individual payment for regie (#46503) commit 3faa37405b54bec7c873babac69fedbdec44c085 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Sep 30 18:09:13 2020 +0200 lingo: add payment_url property to basket item (#46503) commit c5662aa6b64c625875788b4138e7020c3368cd45 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Sep 30 17:28:31 2020 +0200 lingo: move utils functions to file (#46503) commit 1dfb67c45239b7356f3e4af17b5b9b729ac6b1b9 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Sep 23 14:45:37 2020 +0200 lingo: fix missing migration (#46503)
Updated by Frédéric Péters over 4 years ago
- Status changed from Résolu (à déployer) to Solution déployée
lingo: fix missing migration (#46503)