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).
Files
Related issues
History
Updated by Paul Marillonnet almost 2 years ago
- Status changed from Nouveau to En cours
- Assignee set to Paul Marillonnet
- Planning set to No
Updated by Thomas Noël almost 2 years 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"
Updated by Frédéric Péters almost 2 years 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.
Updated by Thomas Noël almost 2 years 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 ?")
Updated by Paul Marillonnet almost 2 years ago
- File invoices_popup.png invoices_popup.png added
- File invoices_table.png invoices_table.png added
Disons qu’avec les patch les lignes du tableau font vraiment une ligne. Le gain n’est pas fabuleux, oui :)
Updated by Paul Marillonnet almost 2 years ago
- File invoices_no_patch.png invoices_no_patch.png added
(Par comparaison, le même tableau sans le patch.)
Updated by Benjamin Dauvergne almost 2 years 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.
Updated by Frédéric Péters almost 2 years ago
- Status changed from En cours to Rejeté
Ok, laissons tomber, non ?
J'hésitais puis j'ai lu Benjamin.
Updated by Benjamin Dauvergne almost 2 years 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.
Updated by Paul Marillonnet almost 2 years ago
- Related to Bug #55986: Vérifier au téléchargement de la facture si celle-ci appartient à l’utilisateur connecté (?) added