Base Report to Label Printer - Improvements
Invia i report qweb-text in stampa senza che il browser scarichi il file.
Il problema
Il modulo OCA base_report_to_printer include un handler lato client che intercetta l'azione di stampa solo per i report qweb-pdf. Per i report qweb-text (in genere etichette ZPL/EPL) l'handler non interviene, quindi l'action manager di Odoo torna al comportamento di default e fa partire il download del file di testo nel browser.
Lato server, l'override su _render_qweb_text invia comunque il documento alla stampante CUPS — quindi l'etichetta viene stampata — ma all'utente resta un .txt inutile nella cartella download.
La soluzione
Questo modulo registra un secondo handler nella registry ir.actions.report handlers, dedicato ai report qweb-text. Affianca quello upstream senza sostituirlo.
| Handler | Filtro report_type | Origine |
|---|---|---|
cups_report_action_handler |
qweb-pdf |
OCA base_report_to_printer |
cups_text_report_action_handler |
qweb-text |
questo modulo |
Flusso
- L'handler chiama
print_document_client_actionsuir.actions.report; il server renderizza il documento conmust_skip_send_to_printer=Trueper evitare la doppia stampa nell'override OCA di_render_qweb_text, poi lo invia a CUPS una sola volta. - In caso di successo l'utente vede il toast standard "Inviato in stampa" e l'handler restituisce
true, impedendo il download di default. - In caso di errore stampante, viene mostrata la stessa notifica sticky usata per i report PDF, con un pulsante Stampa che funge da fallback al download.
Compatibilità
- Odoo 18.0
- Dipende da
base_report_to_label_printer(transitivamente dabase_report_to_printer). - Nessun override Python, nessun nuovo modello, nessuna vista: solo una patch client-side.
Uso
Nessuna configurazione necessaria. Ogni report qweb-text con Default Behaviour impostato su "Send to printer" verrà inviato alla stampante configurata senza scaricare alcun file. Configurazione consigliata per etichette ZPL/EPL: impostare Send to printer e una stampante di default sul report, e configurare Default Label Printer per ogni utente.
Changelog
| Versione | Note |
|---|---|
| 18.0.1.0.0 | Prima release. |
Sviluppato da STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>