Projet

Général

Profil

Development #13688

Mettre le lien de téléchargement du PDF dans la popup de la facture

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

Statut:
Rejeté
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
19 octobre 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Pour le moment le tableau des factures affiche un lien "Voir" et un lien "Télécharger", il pourrait y avoir un seul lien et dans la popup même avoir une ligne avec un lien vers le PDF (quand il existe et qu'on n'est pas en mode paiement anonyme).


Fichiers

invoices_popup.png (65 ko) invoices_popup.png Paul Marillonnet, 05 août 2021 10:07
invoices_table.png (67,2 ko) invoices_table.png Paul Marillonnet, 05 août 2021 10:07
invoices_no_patch.png (83 ko) invoices_no_patch.png Paul Marillonnet, 05 août 2021 10:09

Demandes liées

Lié à Combo - Bug #55986: Vérifier au téléchargement de la facture si celle-ci appartient à l’utilisateur connecté (?)Nouveau05 août 2021

Actions

Historique

#1

Mis à jour par Paul Marillonnet il y a plus de 2 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Paul Marillonnet
  • Planning mis à Non
#2

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

C'est quoi l'utilité à part cacher le PDF derrière un clic ?

Je demande aussi parce que j'imagine assez des habitués dire "ah mais zut y'a plus les PDF"

#3

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

Il y a cinq ans il y avait moins d'habitués. Je pense qu'à la base la réflexion est sur la largeur du tableau, qui mis sur une demi-largeur déborde, ou sur un mobile demande à scroller horizontalement.

#4

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

Ok, laissons tomber, non ? On n'a jamais eu cette remarque. (et j'ai pas envie d'avoir à répondre à la question "où sont passés les PDF ?")

#5

Mis à jour par Paul Marillonnet il y a plus de 2 ans

Disons qu’avec les patch les lignes du tableau font vraiment une ligne. Le gain n’est pas fabuleux, oui :)

#6

Mis à jour par Paul Marillonnet il y a plus de 2 ans

(Par comparaison, le même tableau sans le patch.)

#7

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

En vrai on a pas vraiment de mode anonyme actuellement, on se base juste sur le fait que le lien vers le PDF n'était pas visible dans item.html.

Donc pour le cas anonyme c'est combo/invoice_fullpage.html qui est utilisé et qui fait un include "combo/item.html" faudrait voir à rajouter un anonymous=True au contexte dans ViewItem.get_context_data() et à en tirer les conséquences dans combo/item.html. C'est pas totalement transparent parce qu'on ne peut pas se baser uniquement sur request.user.is_authenticated pour savoir si la facture appartient ou non à l'utilisateur; ça devrait être une condition de ce genre :

     def is_anonymous(self, request):
         if not request.user.is_authenticated:
              return True
         remote_items = self.regie.get_invoices(request.user)
         if self.item_id not in [remote_item.id for remote_item in remote_items]:
              return True
         return False

mais ça n'empêche personne connaissant le code de reprendre le crypto_id et de construire à la main l'URL de téléchargement de la facture; une autre possibilité serait de toujours montrer le lien vers la facture, mais de rendre l'authentification nécessaire sur ItemDownloadView. En fait même ItemDownloadView ne vérifie pas si la facture appartient à la personne actuellement connectée :/

    def get_invoice_pdf(self, user, invoice_id):
        """ 
        downloads item's file
        """ 
        if self.is_remote() and user:
            url = self.webservice_url + '/invoice/%s/pdf/' % invoice_id
            return requests.get(url, user=user, remote_service='auto', cache_duration=0)
        raise PermissionDenied

ici pas de get_invoices() donc à moins que passerelle fasse la vérification aussi, on un trou aussi ici. Le mode anonyme est à revoir au passage.

#8

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

  • Statut changé de En cours à Rejeté

Ok, laissons tomber, non ?

J'hésitais puis j'ai lu Benjamin.

#9

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

Benjamin Dauvergne a écrit :

ici pas de get_invoices() donc à moins que passerelle fasse la vérification aussi, on un trou aussi ici. Le mode anonyme est à revoir au passage.

Ça ne concerne pas les connecteurs Axel, mais le connecteur family lui ne fait pas cette vérification.

#10

Mis à jour par Paul Marillonnet il y a plus de 2 ans

  • Lié à Bug #55986: Vérifier au téléchargement de la facture si celle-ci appartient à l’utilisateur connecté (?) ajouté

Formats disponibles : Atom PDF