Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correction des erreurs type "Métier" #4896

Open
3 tasks
Tracked by #4893
Charline-L opened this issue Jan 14, 2025 · 2 comments
Open
3 tasks
Tracked by #4893

Correction des erreurs type "Métier" #4896

Charline-L opened this issue Jan 14, 2025 · 2 comments
Assignees

Comments

@Charline-L
Copy link
Collaborator

Charline-L commented Jan 14, 2025

Todo :

  • 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 !)
@raphodn
Copy link
Member

raphodn commented Jan 24, 2025

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.

@Charline-L
Copy link
Collaborator Author

Bug remonté associé à ces erreurs : Une cantine est indiquée inscrite alors qu'elle ne l'est pas #4939

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants