From bb12b3777f850ee36607fb1bb01d727a9b9cf081 Mon Sep 17 00:00:00 2001 From: JbLb Date: Mon, 16 Mar 2026 21:21:07 +0100 Subject: [PATCH] =?UTF-8?q?retrait=20des=20fonctions=20d'aide=20et=20final?= =?UTF-8?q?isation=20de=20la=20g=C3=A9n=C3=A9ration=20de=20fichier=20pdf?= =?UTF-8?q?=20conforme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routers/factures.py | 24 +++++++----------------- templates/factures/liste.html | 1 - 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/routers/factures.py b/routers/factures.py index 6467464..80a210b 100644 --- a/routers/factures.py +++ b/routers/factures.py @@ -12,6 +12,7 @@ from config import settings from auth import get_current_user from template_helper import render from generate_facturx_jinja2 import Address, Party, Invoice, InvoiceLine, generate_facturx_xml +from facturx import generate_from_binary router = APIRouter(prefix="/factures", tags=["factures"], dependencies=[Depends(get_current_user)]) templates = Jinja2Templates(directory="templates") @@ -158,23 +159,6 @@ def changer_statut_facture( from generate_facturx_jinja2 import Invoice, Party, Address, InvoiceLine, filter_amount, filter_datefmt -@router.get("/{facture_id}/facturx") -def telecharger_facturx(request: Request, facture_id: int, db: Session = Depends(get_db)): - facture = get_invoice_data(facture_id, db) # votre appel BDD - # facture = db.query(Facture).get(facture_id) - if not facture: - raise HTTPException(status_code=404) - - xml_bytes = generate_facturx_xml(facture) - - filename=f"factur-x-{facture_id}.xml" - - return Response( - content= xml_bytes, - media_type="application/xml", - headers={"Content-Disposition": f'attachment; filename="{filename}"'} - ) - @router.get("/{facture_id}/pdf", response_class=HTMLResponse) def telecharger_pdf(request: Request, facture_id: int, db: Session = Depends(get_db)): @@ -192,6 +176,12 @@ def telecharger_pdf(request: Request, facture_id: int, db: Session = Depends(get filename = f"facture-{facture.numero}.pdf" + xml_bytes = generate_facturx_xml(get_invoice_data(facture_id, db)) + + pdf_bytes = generate_from_binary(pdf_bytes, xml_bytes) + + filename = f"facture-{facture.numero}.pdf" + return Response( content=pdf_bytes, media_type="application/pdf", diff --git a/templates/factures/liste.html b/templates/factures/liste.html index 355891b..99ed8bf 100644 --- a/templates/factures/liste.html +++ b/templates/factures/liste.html @@ -29,7 +29,6 @@ Voir PDF - facturx {% endfor %}