Project

General

Profile

Development #13688

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

Added by Frédéric Péters over 6 years ago. Updated over 1 year ago.

Status:
Rejeté
Priority:
Normal
Target version:
-
Start date:
19 October 2016
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

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


Files

invoices_popup.png (65 KB) invoices_popup.png Paul Marillonnet, 05 August 2021 10:07 AM
invoices_table.png (67.2 KB) invoices_table.png Paul Marillonnet, 05 August 2021 10:07 AM
invoices_no_patch.png (83 KB) invoices_no_patch.png Paul Marillonnet, 05 August 2021 10:09 AM

Related issues

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

Actions

History

#1

Updated by Paul Marillonnet over 1 year ago

  • Status changed from Nouveau to En cours
  • Assignee set to Paul Marillonnet
  • Planning set to No
#2

Updated by Thomas Noël over 1 year ago

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

Updated by Frédéric Péters over 1 year ago

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

Updated by Thomas Noël over 1 year ago

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

Updated by Paul Marillonnet over 1 year ago

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

#6

Updated by Paul Marillonnet over 1 year ago

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

#7

Updated by Benjamin Dauvergne over 1 year ago

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

Updated by Frédéric Péters over 1 year ago

  • Status changed from En cours to Rejeté

Ok, laissons tomber, non ?

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

#9

Updated by Benjamin Dauvergne over 1 year ago

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

Updated by Paul Marillonnet over 1 year ago

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

Also available in: Atom PDF