feat: affiche la date de derniere extraction et revient aux documents

La liste des documents montrait la date d'import, figee au premier
enregistrement : c'est la date de la derniere extraction ayant produit les
donnees affichees qui renseigne, surtout apres un balayage de re-extraction. La
colonne `extracted_at` la porte, mise a jour a chaque enregistrement, et la date
d'import reste consultable en infobulle.

Le projet n'ayant pas d'outil de migration (`create_all` laisse intactes les
tables existantes), `init_db` rattrape les colonnes ajoutees apres coup : sans
cela une base deja installee cesserait de fonctionner. Les documents deja
presents recoivent leur date d'import, qui est bien celle de leur extraction.

Une fois la selection appliquee sans echec, le balayage renvoie vers la liste des
documents ; en cas d'echec on reste sur place, les lignes concernees portant leur
message.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-26 06:52:49 +02:00
parent a1da4fc97f
commit 92cf21309f
8 changed files with 129 additions and 3 deletions

View File

@@ -195,6 +195,7 @@ async def list_documents(
solde_montant=doc.solde_montant,
solde_type=doc.solde_type,
created_at=doc.created_at.isoformat() if doc.created_at else None,
extracted_at=doc.extracted_at.isoformat() if doc.extracted_at else None,
has_pdf=doc.pdf_path is not None,
has_json=doc.json_path is not None,
)
@@ -245,6 +246,9 @@ async def get_document(
"json_data": json.loads(document.json_data) if document.json_data else None,
"depenses_tags": db_service.get_depenses_tags(document_id),
"created_at": document.created_at.isoformat() if document.created_at else None,
"extracted_at": document.extracted_at.isoformat()
if document.extracted_at
else None,
"has_pdf": document.pdf_path is not None,
"has_json": document.json_path is not None,
}