Bug #2732
vue télétransmission
100%
Description
Faire une vue qui permet d'afficher les télétranmissions à faire / faites.
appel en GET :- ?sediq=nnn => construit les fichiers B2 pour la facturation nnn s'ils n'existent pas
- ?seqid=nnn&force => force la construction précédente (en cas de bogue...)
les fichiers seront alors dans /var/lib/calebasse/B2/nnn/
ensuite, la vue affiche pour chaque facturation la liste des fichiers B2 à envoyer ("pour caisse XXX, lot XXX du dd/mm/yyyy, total xxx€"), avec pour chaque fichier un lien vers une action pour l'envoyer OU un message "envoyé le dd/mm/yyyy".
Files
Associated revisions
History
Updated by Mikaël Ates over 11 years ago
- Priority changed from Normal to Immediat
Lorsqu'aucune tt n'a encore été faite pour une facturation, il faut afficher un unique bouton "Télétransmettre". N'afficher des boutons de tt caisse par caisse que s'il y a déja une tt partielle pour une facturation.
Updated by Mikaël Ates over 11 years ago
- Project changed from 104 to Calebasse
- Target version deleted (
146)
Updated by Thomas Noël over 11 years ago
Patch qui fonctionne.
Quand un facture est validée, le bouton "Télétransmission" apparait, à côté de l'impression et de l'export compta.
Quand on clique sur ce bouton, on arrive sur une page qui propose, si ça n'a pas encore été fait, de "Préparer les fichiers pour la télétransmission". On clique sur le bouton proposé et les fichiers B2 sont crées. La page se réaffiche.
Quand les fichiers B2 sont créée, la page affiche le détail de chaque fichier : à quelle caisse va-t-il être envoyé, quels lots contient-il (avec les montants, nombre d'actes, nombre de factures). Cela permet un dernier check.
On cliquer alors sur le bouton "Envoyer" en haut à droite. L'envoi se déroule... ça peut être long sur un Exchange, trop long (ça sera à améliorer, sans doute avec du celery ou un truc dans le genre, mais là, pas le temps ni la possibilité de le faire).
Si pas de timeout, la page se réaffiche. Pour chaque fichier B2 on voit s'il a pu être envoyé ou pas. On voit le log de l'envoie SMTP (case en "HTML pre" assez technique, mais il contient les dates exacts et les message d'erreur le cas échéant).
S'il a pu être envoyé, un message "Envoyé le..." s'affiche en vert. On peut éventuellement cliquer sur un lien "Envoyer à nouveau" pour forcer le renvoi de ce fichier B2 (au cas où il se perd entre temps...).
Sinon, le log s'affiche en rouge. On clique à nouveau sur "Envoyer" pour relancer l'envoi de tous les échecs.
Reste à faire :- facile : un bouton "Retenter" quand un envoi a planté
- chiant : un envoi en background parce que Exchange demande presque d'attendre 10 secondes entre deux envois, pffff... une autre solution serait de passer via le SMTP local mais en cas de pépin on ne verra pas ce qui coince et il faudra dépanner la queue... pas marrant (alors que là, c'est notre fournisseur de mail qui se tape le boulot).
- rien en base, tout est sur le disque dans /var/lib/calebasse/B2/<nnn>/ où <nnn> est le seq_id de la facture.
Updated by Mikaël Ates over 11 years ago
- Status changed from Nouveau to En cours
yep, au passage :
$ git am --signoff < calebasse-teletransmission-views.patch
Patch does not have a valid e-mail address.
Mais de toute façon je te laisserais committer directement et déployer en prod :)
Pour les gens comme moi qui ont un openssl sans le support sslv2, m2crypto gueule :
http://stackoverflow.com/questions/8206546/undefined-symbol-sslv2-method
Patcher m2crypto comme indiqué ici :
http://blog.schmichael.com/2012/05/29/building-python-2-6-8-on-ubuntu-12-04/
Pour le dictionnaire de config, en effet un exemple en commentaire dans les settings ce serait bien. A voir, mais je préférerais qu'il n'y ait pas de valeurs par défaut et que l'on teste les params à None pour afficher une page 'Télétransmission B2 non configurée'. Plus un test sur l'existence du 'output_directory'. Ces tests seraient notamment effectués lors de l'appel de la page télétransmission.
L'affichage des erreurs d'envoi en gris sur rouge n'est pas lisible chez moi, on pourrait mettre le texte en blanc ?
Pour le reste je n'ai pas testé.
Détail, il y a des blank lines en fin de calebasse/facturation/views.py et calebasse/facturation/templates/facturation/transmission.html
Updated by Thomas Noël over 11 years ago
Nouvelle version du patch qui intègre les demandes ci-dessus.
Updated by Thomas Noël over 11 years ago
- Status changed from En cours to Résolu (à déployer)
- % Done changed from 0 to 100
Appliqué par commit aps42:calebasse|commit:d6340428356018fad9ee26fdb4a46f020bb169a9.
Updated by Thomas Noël over 11 years ago
Appliqué par commit calebasse|commit:d6340428356018fad9ee26fdb4a46f020bb169a9.
b2: add tranmission views (fix #2732)
+ NOEMIE basic views (#2731)