[FIX] account : fix report_original_vendor_bill to work also with refunds

Before commit it you want to print original bills with report_original_vendor_bill and that your list contains a refund it ends up with a UserError "You can only print the original document for vendor bills.".

Fixing the filter, using the is_purchase_document helper, allows to properly print documents, including refunds.

closes odoo/odoo#115452

X-original-commit: 7dd553b8ec1bcea8487dfe71c336787f35d69bea
Signed-off-by: Laurent Smet <las@odoo.com>
This commit is contained in:
Jerome Sonnet (ito-invest-lu)
2023-03-17 11:47:16 +01:00
committed by Laurent Smet
parent 7c3eb0c3fd
commit c53cf73f36
+3 -3
View File
@@ -20,12 +20,12 @@ class IrActionsReport(models.Model):
return super()._render_qweb_pdf_prepare_streams(report_ref, data, res_ids=res_ids)
invoices = self.env['account.move'].browse(res_ids)
if any(x.move_type not in ('in_invoice', 'in_receipt') for x in invoices):
raise UserError(_("You can only print the original document for vendor bills."))
if any(not x.is_purchase_document(include_receipts=True) for x in invoices):
raise UserError(_("You can only print the original document for purchase documents."))
original_attachments = invoices.message_main_attachment_id
if not original_attachments:
raise UserError(_("No original vendor bills could be found for any of the selected vendor bills."))
raise UserError(_("No original purchase document could be found for any of the selected purchase documents."))
collected_streams = OrderedDict()
for invoice in invoices: