Projet

Général

Profil

Development #46503

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

Ajouté par Benjamin Dauvergne il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
09 septembre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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


Fichiers


Demandes liées

Lié à Intégrations graphiques Publik - Development #47239: scss: ajustements pour lingobasketcellFermé01 octobre 2020

Actions

Révisions associées

Révision 1dfb67c4 (diff)
Ajouté par Valentin Deniaud il y a plus de 3 ans

lingo: fix missing migration (#46503)

Révision c5662aa6 (diff)
Ajouté par Valentin Deniaud il y a plus de 3 ans

lingo: move utils functions to file (#46503)

Révision 3faa3740 (diff)
Ajouté par Valentin Deniaud il y a plus de 3 ans

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

Révision 4ff5f921 (diff)
Ajouté par Valentin Deniaud il y a plus de 3 ans

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

Historique

#2

Mis à jour par Valentin Deniaud il y a plus de 3 ans

  • Assigné à mis à Valentin Deniaud
#4

Mis à jour par Valentin Deniaud il y a plus de 3 ans

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

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

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

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Statut changé de Solution proposée à 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

Mis à jour par Valentin Deniaud il y a plus de 3 ans

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

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

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

Mis à jour par Valentin Deniaud il y a plus de 3 ans

#10

Mis à jour par Valentin Deniaud il y a plus de 3 ans

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

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Statut changé de Solution proposée à En cours

Build lapin content.

#12

Mis à jour par Valentin Deniaud il y a plus de 3 ans

  • Statut changé de En cours à Solution proposée

Benjamin Dauvergne a écrit :

Build lapin content.

Fail de sed, ça devrait aller mieux.

#13

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Statut changé de Solution proposée à Solution validée

Go. Je vais soumettre le ticket #46504 dans la foulée.

#14

Mis à jour par Valentin Deniaud il y a plus de 3 ans

  • Statut changé de Solution validée à 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

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

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

Formats disponibles : Atom PDF