Development #13688
Mettre le lien de téléchargement du PDF dans la popup de la facture
0%
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
Demandes liées
Historique
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
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"
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.
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 ?")
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Fichier invoices_popup.png invoices_popup.png ajouté
- Fichier invoices_table.png invoices_table.png ajouté
Disons qu’avec les patch les lignes du tableau font vraiment une ligne. Le gain n’est pas fabuleux, oui :)
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Fichier invoices_no_patch.png invoices_no_patch.png ajouté
(Par comparaison, le même tableau sans le patch.)
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.
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.
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.
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é