From 18df11440ac2f33e3d1fcbbec430c351fbc65e2d Mon Sep 17 00:00:00 2001
From: Alexandre Fayolle
Date: Wed, 9 Mar 2022 12:00:36 +0100
Subject: [PATCH] fix(#259): handle case of print attachment wizard
The fix in #259 only worked for reports being printed at generation
of the PDF. This PR handles sending an attachment to a printer through
the Print Attachment wizard.
Also clarify the configuration section of the README.
---
base_report_to_printer/README.rst | 3 ++-
base_report_to_printer/readme/CONFIGURE.rst | 3 ++-
base_report_to_printer/static/description/index.html | 3 ++-
base_report_to_printer/wizards/print_attachment_report.py | 7 ++++++-
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/base_report_to_printer/README.rst b/base_report_to_printer/README.rst
index db77c7a..0395d69 100644
--- a/base_report_to_printer/README.rst
+++ b/base_report_to_printer/README.rst
@@ -82,7 +82,8 @@ The jobs will be sent to the printer with a name matching the print_report_name
of the report (truncated at 80 characters). By default this will not be
displayed by CUPS web interface or in Odoo. To see this information, you need
to change the configuration of your CUPS server and set the JobPrivateValue
-directive to "job-name", and reload the server. See `cupsd.conf(5)
+directive to "none" (or some other list of values which does not include
+"job-name") , and reload the server. See `cupsd.conf(5)
` for details.
Usage
diff --git a/base_report_to_printer/readme/CONFIGURE.rst b/base_report_to_printer/readme/CONFIGURE.rst
index 0b12368..3463730 100644
--- a/base_report_to_printer/readme/CONFIGURE.rst
+++ b/base_report_to_printer/readme/CONFIGURE.rst
@@ -8,5 +8,6 @@ The jobs will be sent to the printer with a name matching the print_report_name
of the report (truncated at 80 characters). By default this will not be
displayed by CUPS web interface or in Odoo. To see this information, you need
to change the configuration of your CUPS server and set the JobPrivateValue
-directive to "job-name", and reload the server. See `cupsd.conf(5)
+directive to "none" (or some other list of values which does not include
+"job-name") , and reload the server. See `cupsd.conf(5)
` for details.
diff --git a/base_report_to_printer/static/description/index.html b/base_report_to_printer/static/description/index.html
index f358b9b..b46ef5f 100644
--- a/base_report_to_printer/static/description/index.html
+++ b/base_report_to_printer/static/description/index.html
@@ -432,7 +432,8 @@ rights to give users the ability to view the print menu.
of the report (truncated at 80 characters). By default this will not be
displayed by CUPS web interface or in Odoo. To see this information, you need
to change the configuration of your CUPS server and set the JobPrivateValue
-directive to “job-name”, and reload the server. See cupsd.conf(5)
+directive to “none” (or some other list of values which does not include
+“job-name”) , and reload the server. See cupsd.conf(5)
<https://www.cups.org/doc/man-cupsd.conf.html> for details.
diff --git a/base_report_to_printer/wizards/print_attachment_report.py b/base_report_to_printer/wizards/print_attachment_report.py
index 5196b17..2fd8ff2 100644
--- a/base_report_to_printer/wizards/print_attachment_report.py
+++ b/base_report_to_printer/wizards/print_attachment_report.py
@@ -27,13 +27,18 @@ class PrintAttachment(models.TransientModel):
errors = []
for att_line in self.attachment_line_ids:
data = att_line.attachment_id.datas
+ title = att_line.attachment_id.store_fname
if not data:
errors.append(att_line)
continue
content = base64.b64decode(data)
content_format = att_line.get_format()
self.printer_id.print_document(
- None, content=content, format=content_format, copies=att_line.copies
+ None,
+ content=content,
+ format=content_format,
+ copies=att_line.copies,
+ title=title,
)
if errors:
return {