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.
This commit is contained in:
Alexandre Fayolle
2022-03-09 12:00:36 +01:00
committed by sonhd
parent edf2c41056
commit c24ea1b992
4 changed files with 13 additions and 5 deletions

View File

@@ -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)
<https://www.cups.org/doc/man-cupsd.conf.html>` for details.
Usage

View File

@@ -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)
<https://www.cups.org/doc/man-cupsd.conf.html>` for details.

View File

@@ -432,7 +432,8 @@ rights to give users the ability to view the print menu.</li>
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 <cite>cupsd.conf(5)
directive to “none” (or some other list of values which does not include
“job-name”) , and reload the server. See <cite>cupsd.conf(5)
&lt;https://www.cups.org/doc/man-cupsd.conf.html&gt;</cite> for details.</p>
</div>
<div class="section" id="usage">

View File

@@ -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 {