Projet

Général

Profil

Bug #12669

encrypter les id de factures

Ajouté par Jean-Baptiste Jaillet il y a presque 8 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Jean-Baptiste Jaillet
Version cible:
-
Début:
20 juillet 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Encrypter les id de factures (item).
Modification de la vue activeitem pour les liens qui s'ouvrent ensuite en pop up.


Fichiers


Demandes liées

Lié à Combo - Development #12637: permettre le paiement anonyme de factures par des tiersFermé19 juillet 2016

Actions

Révisions associées

Révision af345616 (diff)
Ajouté par Jean-Baptiste Jaillet il y a presque 8 ans

lingo: encrypt invoice id in URLs (#12669)

Révision e7e5da51 (diff)
Ajouté par Frédéric Péters il y a plus de 7 ans

lingo: return a 404 in case invoice id can't be decrypted (#12669)

Historique

#1

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

  • Fichier 0001-lingo-encrypt-item-id-in-urls-12669.patch ajouté

Fait. J'encrypte avec la méthode de Benj et j'ai rajouté une propriété sur l'objet remoteitem.

#2

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

  • Fichier 0001-lingo-encrypt-item-id-in-urls-12669.patch supprimé
#3

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

j'avais fait un oubli je remets le patch

#4

Mis à jour par Frédéric Péters il y a presque 8 ans

  • Projet changé de Combo à Lingo
  • Sujet changé de [lingo] encrypter les id de factures à encrypter les id de factures
#5

Mis à jour par Frédéric Péters il y a presque 8 ans

  • Lié à Development #12637: permettre le paiement anonyme de factures par des tiers ajouté
#6

Mis à jour par Frédéric Péters il y a presque 8 ans

  • Il serait sans doute de bon goût de lever une erreur 404 en cas d'id invalide.
  • Utiliser le même crypto_id pour l'url du PDF de la facture
  • Plutôt qu'un nouveau fichier utils.py, je me dis que ces fonctions pourraient intégrer le combo/utils.py.
  • Sans aller jusque lingo, au moins ajouter des tests pour ces deux fonctions.
#7

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

  • Fichier 0001-lingo-encrypt-item-id-in-urls-12669.patch ajouté

J'ai mis à jour les points au dessus.

#8

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

  • Fichier 0001-lingo-encrypt-item-id-in-urls-12669.patch supprimé
#9

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

encore un oublie de fichier !

#10

Mis à jour par Frédéric Péters il y a presque 8 ans

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

Voilà; poussé après avoir un peu nettoyé le message de commit.

commit af3456167359654790db023d95e89f28aa344543
Author: Jean-Baptiste Jaillet <jbjaillet@entrouvert.com>
Date:   Wed Jul 20 18:20:41 2016 +0200

    lingo: encrypt invoice id in URLs (#12669)
#11

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

aes_hex_decrypt peut lever DecryptionError, il faudrait l'attraper ou alors passer raise_on_error=False et gérer le fait qu'item_id soit None.

#12

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

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

Mis à jour par Frédéric Péters il y a presque 8 ans

Oui, je n'ai pas fait gaffe à la dernière relecture, c'était mon commentaire dans la précédente, "Il serait sans doute de bon goût de lever une erreur 404 en cas d'id invalide.".

#14

Mis à jour par Jean-Baptiste Jaillet il y a presque 8 ans

j'avais pourtant rajouté un 404 si aucun item n'était retrouvé. Dans le get item

#15

Mis à jour par Benjamin Dauvergne il y a presque 8 ans

Oui mais c'est avant qu'est le problème si aes_decrypt_hex foire avec une exception, traceback qu'on pourrait ignorer.

#17

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

Manque un 404 si le get(regie_id) foire.

#18

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

Ça peut d'ailleurs être un Http404('regie not found') pour être explicite (ou alors avec un JSON {err:1 data: 'regie not found'}, je ne sais pas trop par quoi c'est appelé.

#20

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

Ack. (Il me semble que PermissionDenied se transforme tout seul en HttpResponseForbidden mais ok, "explicit is better than implicit").

#21

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

  • Statut changé de En cours à Résolu (à déployer)
commit e7e5da510d02e7edff98f1ca7ebd13e74e5d0884
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Wed Jul 27 09:09:23 2016 +0200

    lingo: return a 404 in case invoice id can't be decrypted (#12669)
#22

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

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

Formats disponibles : Atom PDF