diff --git a/odoo/addons/base/i18n/base.pot b/odoo/addons/base/i18n/base.pot index 1d98a6304a1..612dae8470e 100644 --- a/odoo/addons/base/i18n/base.pot +++ b/odoo/addons/base/i18n/base.pot @@ -18694,6 +18694,12 @@ msgid "" "again after refreshing." msgstr "" +#. module: base +#: code:addons/base/models/ir_actions_report.py:0 +#, python-format +msgid "One of the documents, you try to merge is encrypted" +msgstr "" + #. module: base #: code:addons/models.py:0 #, python-format diff --git a/odoo/addons/base/models/ir_actions_report.py b/odoo/addons/base/models/ir_actions_report.py index ecbdda19b17..db3b875fad3 100644 --- a/odoo/addons/base/models/ir_actions_report.py +++ b/odoo/addons/base/models/ir_actions_report.py @@ -23,7 +23,7 @@ from lxml import etree from contextlib import closing from distutils.version import LooseVersion from reportlab.graphics.barcode import createBarcodeDrawing -from PyPDF2 import PdfFileWriter, PdfFileReader +from PyPDF2 import PdfFileWriter, PdfFileReader, utils from collections import OrderedDict from collections.abc import Iterable from PIL import Image, ImageFile @@ -678,7 +678,10 @@ class IrActionsReport(models.Model): if len(streams) == 1: result = streams[0].getvalue() else: - result = self._merge_pdfs(streams) + try: + result = self._merge_pdfs(streams) + except utils.PdfReadError: + raise UserError(_("One of the documents, you try to merge is encrypted")) # We have to close the streams after PdfFileWriter's call to write() close_streams(streams)