Projet

Général

Profil

Development #9470

Agora+: ajout webservice détails d'une facture

Ajouté par Thomas Noël il y a plus de 8 ans. Mis à jour il y a environ 7 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
04 janvier 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

(en simulant le webservice agora+ correspondant qui n'existe pas...)

On en a besoin pour voir les "détails" d'une facture mais surtout pour la payer.


Fichiers

Révisions associées

Révision cd358930 (diff)
Ajouté par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

contrib.agoraplus: invoice view endpoint (#9470)

Include invoice id in payment url.

Historique

#1

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

#2

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

ObjectDoesNotExist c'est pour les modèles, je renverrai plutôt un KeyError et dans la vue il faudrait traduire cela en 404.

#3

Mis à jour par Thomas Noël il y a plus de 8 ans

Zut, va y avoir «conflit» ici, sauf à considérer que "pay" ne sera jamais un numéro de facture (mais bon, ça reste pas "propre") :

    url(r'^(?P<slug>[\w-]+)/regie/invoice/pay/$', InvoicePayView.as_view(), name='agoraplus-invoice-payment'),
    url(r'^(?P<slug>[\w-]+)/regie/invoice/(?P<invoice_id>[\w,-]+)/$', InvoiceView.as_view(), name='agoraplus-invoice'),

#4

Mis à jour par Thomas Noël il y a plus de 8 ans

Benjamin Dauvergne a écrit :

ObjectDoesNotExist c'est pour les modèles, je renverrai plutôt un KeyError et dans la vue il faudrait traduire cela en 404.

iirc, c'est traduit ainsi par copain to_json

#5

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

Ah la magie.

#6

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

Thomas Noël a écrit :

Zut, va y avoir «conflit» ici, sauf à considérer que "pay" ne sera jamais un numéro de facture (mais bon, ça reste pas "propre") :
[...]

Oui, je remet l'identifiant de la facture à payer dans l'url, comme c'était avant.

#7

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

  • Patch proposed changé de Oui à Non
#8

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

Agora a developpé un webservice pour récuperer les détails d'une facture.
De nôtre côté le patch est très simple. A appliquer au dessus de celui du commentaire nr. 1.

Mais ça m'embete qu'il n'y ait aucun controle de l'appartenance d'une facture à l'usager. Ça veut dire qu'un citoyen peut voir une autre facture, qui ne lui appartient pas, en connaissant son numéro.
Je serais pour garder mon patch initial.

#9

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

Les citoyens ont un moyen d'entrer un numéro de facture dans une interface et ainsi de la voir ou bien ? Parce que normalement les citoyens n'ont pas accès directement à passerelle à ma connaissance.

#10

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

Les pages des factures contienent le numéro de facture, genre: http://combo/facture/&lt;numero_facture&gt;/... . et s'affichent dans une popup dans combo.
Mais rien n'empeche un utilisateur "avancé" de voir quelle url est appelée et mettre un autre numéro de facture.

#11

Mis à jour par Thomas Noël il y a plus de 8 ans

Ok pour revenir au patch de départ (mais je veux bien le relire ici complet avant)

#12

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

J'ajouterai un jeton à l'URL des factures pour qu'il soit impossible d'en fabriquer, par contre si on file le lien à quelqu'un... mais ça c'est déjà comme ça qu'on voulait que ça marche (et Free et OVH laisse en libre accès leurs factures, leur URLs sont juste difficiles à générer).

#13

Mis à jour par Thomas Noël il y a plus de 8 ans

Oui, évolution à prévoir, comme sur Orléans : ajout d'un "?hash=xxxxxx" que combo vérifie par rapport à des éléments stables de la factures et sa clé.

Mais c'est pas l'objet du présent patch, donc pour l'instant, ne renvoyons pas les factures qui n'appartiennent pas au nameid.

#15

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

Les deux premiers patch fusionés: récuperation d'une facture à partir de la liste des factures d'un nameid et refactoring de l'url de paiement d'une facture

#16

Mis à jour par Thomas Noël il y a plus de 8 ans

Ack

Si tu peux retirer les octets « — <em>invoice_id</em> - {% trans "invoice id" %}<br /> » qui contiennent assez peu d'information ;-)

#17

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 8 ans

  • Statut changé de En cours à Résolu (à déployer)

Ok

commit cd3589300928e6ed2cdd7ee149e2ed0f3940d990
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Mon Jan 4 10:20:59 2016 +0100

    contrib.agoraplus: invoice view endpoint (#9470)

    Include invoice id in payment url.

#18

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF