You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lorsque le nom des colonnes n'est pas bon, préciser quelles colonnes sont concernées
Modifier le message d'erreur La première ligne du fichier doit contenir les bon noms de colonnes par La première ligne du fichier doit contenir les bon noms de colonnes, de ce fait nous n'avons pas pu vérifier le reste du fichier. (mon objectif est de prévenir que potentiellement derrière il y aura des erreurs)
Toutes les erreurs ne s'affichent pas du premier coup (critique !)
The text was updated successfully, but these errors were encountered:
Détails sur la refonte que j'ai commencé dans #4936 puis #4949 :
l'idée est d'avoir une boite à outil générique pour importer/manipuler/valider des fichiers d'imports.
j'ai commencé avec une classe générique, mais a y réfléchir ca serait mieux d'avoir une lib pure python, qu'on utilisera un peu partout (pas que dans les vues d'import, mais peut-être dans des management commands, ou dans l'admin...)
Les différentes méthodes que contient cette boite à outils :
calculer la taille du fichier (en option : renvoyer une erreur si trop gros)
obtenir le format du fichier (en option : renvoyer une erreur si pas du csv)
calculer le hash md5 du fichier (afin de vérifier si il n'a pas déjà été importé - seulement pour les achats actuellement)
obtenir l'encodage du fichier
vérifier si le fichier contient le bon header
peut être fait coté frontend aussi
envoyer le fichier à validata (avec le schema correspondant) pour obtenir le "rapport"
peut être fait coté frontend aussi
La partie "métier" (essayer, dans une transaction atomique, de créer les cantines 1 par 1, et renvoyer des erreurs de droits ,...) continuera d'être fait dans chacune des vue d'import. Y'a peut-être quelques trucs à factoriser à terme.
Todo :
The text was updated successfully, but these errors were encountered: