Project

General

Profile

Développement #46503

lingo : pouvoir indiquer qu'une régie ne permet de payer qu'un item à la fois

Added by Benjamin Dauvergne over 4 years ago. Updated over 4 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
09 September 2020
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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

Related to Intégrations graphiques Publik - Développement #47239: scss: ajustements pour lingobasketcellFermé01 October 2020

Actions

Associated revisions

Revision 1dfb67c4 (diff)
Added by Valentin Deniaud over 4 years ago

lingo: fix missing migration (#46503)

Revision c5662aa6 (diff)
Added by Valentin Deniaud over 4 years ago

lingo: move utils functions to file (#46503)

Revision 3faa3740 (diff)
Added by Valentin Deniaud over 4 years ago

lingo: add payment_url property to basket item (#46503)

Revision 4ff5f921 (diff)
Added by Valentin Deniaud over 4 years ago

lingo: allow requiring individual payment for regie (#46503)

History

#2

Updated by Valentin Deniaud over 4 years ago

  • Assignee set to Valentin Deniaud
#4

Updated by Valentin Deniaud over 4 years ago

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 ?

#5

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()).

#6

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)

#7

Updated by Valentin Deniaud over 4 years ago

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 ?

#8

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.

#9

Updated by Valentin Deniaud over 4 years ago

#10

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.

#11

Updated by Benjamin Dauvergne over 4 years ago

  • Status changed from Solution proposée to En cours

Build lapin content.

#12

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.

#13

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.

#14

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)
#15

Updated by Frédéric Péters over 4 years ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF