From 610a22b15700e59f811d62c21087db54b6aaca42 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Mon, 9 Jan 2017 21:48:17 +0100 Subject: [PATCH 01/17] report_qweb_pdf_watermark (#86) --- report_qweb_pdf_watermark/README.rst | 62 +++++++++++++ report_qweb_pdf_watermark/__init__.py | 4 + report_qweb_pdf_watermark/__openerp__.py | 18 ++++ report_qweb_pdf_watermark/demo/report.xml | 30 ++++++ report_qweb_pdf_watermark/models/__init__.py | 5 + .../models/ir_actions_report_xml.py | 14 +++ report_qweb_pdf_watermark/models/report.py | 87 ++++++++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes report_qweb_pdf_watermark/tests/__init__.py | 4 + .../tests/test_report_qweb_pdf_watermark.py | 32 +++++++ .../views/ir_actions_report_xml.xml | 15 +++ 11 files changed, 271 insertions(+) create mode 100644 report_qweb_pdf_watermark/README.rst create mode 100644 report_qweb_pdf_watermark/__init__.py create mode 100644 report_qweb_pdf_watermark/__openerp__.py create mode 100644 report_qweb_pdf_watermark/demo/report.xml create mode 100644 report_qweb_pdf_watermark/models/__init__.py create mode 100644 report_qweb_pdf_watermark/models/ir_actions_report_xml.py create mode 100644 report_qweb_pdf_watermark/models/report.py create mode 100644 report_qweb_pdf_watermark/static/description/icon.png create mode 100644 report_qweb_pdf_watermark/tests/__init__.py create mode 100644 report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py create mode 100644 report_qweb_pdf_watermark/views/ir_actions_report_xml.xml diff --git a/report_qweb_pdf_watermark/README.rst b/report_qweb_pdf_watermark/README.rst new file mode 100644 index 00000000..35c63a05 --- /dev/null +++ b/report_qweb_pdf_watermark/README.rst @@ -0,0 +1,62 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============= +Pdf watermark +============= + +This module was written to add watermarks (backgrounds) to PDF reports. + +This is necessary because of the way wkhtmltopdf handles headers and footers, in the current versions if quite impossible to have a background for the complete page. + +Usage +===== + +To use this module, you need to: + +#. go to your report +#. select a PDF or image to use as watermark. Note that resolutions and size must match, otherwise you'll have funny results +#. advanced users (members of group technical settings) can also fill in an expression that returns the data (base64 encoded) to be used as watermark + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/143/8.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Holger Brunn + +Do not contact contributors directly about help with questions or problems concerning this addon, but use the `community mailing list `_ or the `appropriate specialized mailinglist `_ for help, and the bug tracker linked in `Bug Tracker`_ above for technical issues. + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/report_qweb_pdf_watermark/__init__.py b/report_qweb_pdf_watermark/__init__.py new file mode 100644 index 00000000..7eda98a2 --- /dev/null +++ b/report_qweb_pdf_watermark/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import models diff --git a/report_qweb_pdf_watermark/__openerp__.py b/report_qweb_pdf_watermark/__openerp__.py new file mode 100644 index 00000000..74ccecf9 --- /dev/null +++ b/report_qweb_pdf_watermark/__openerp__.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Pdf watermark", + "version": "9.0.1.0.0", + "author": "Therp BV,Odoo Community Association (OCA)", + "license": "AGPL-3", + "category": "Reporting", + "summary": "Add watermarks to your QWEB PDF reports", + "depends": [ + 'report', + ], + "data": [ + "demo/report.xml", + "views/ir_actions_report_xml.xml", + ], +} diff --git a/report_qweb_pdf_watermark/demo/report.xml b/report_qweb_pdf_watermark/demo/report.xml new file mode 100644 index 00000000..c25210ba --- /dev/null +++ b/report_qweb_pdf_watermark/demo/report.xml @@ -0,0 +1,30 @@ + + + + + + docs[:1].company_id.logo + + + + diff --git a/report_qweb_pdf_watermark/models/__init__.py b/report_qweb_pdf_watermark/models/__init__.py new file mode 100644 index 00000000..e9e37ae5 --- /dev/null +++ b/report_qweb_pdf_watermark/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import ir_actions_report_xml +from . import report diff --git a/report_qweb_pdf_watermark/models/ir_actions_report_xml.py b/report_qweb_pdf_watermark/models/ir_actions_report_xml.py new file mode 100644 index 00000000..d703c028 --- /dev/null +++ b/report_qweb_pdf_watermark/models/ir_actions_report_xml.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from openerp import fields, models + + +class IrActionsReportXml(models.Model): + _inherit = 'ir.actions.report.xml' + + pdf_watermark = fields.Binary('Watermark') + pdf_watermark_expression = fields.Char( + 'Watermark expression', help='An expression yielding the base64 ' + 'encoded data to be used as watermark. \n' + 'You have access to variables `env` and `docs`') diff --git a/report_qweb_pdf_watermark/models/report.py b/report_qweb_pdf_watermark/models/report.py new file mode 100644 index 00000000..acb9aff6 --- /dev/null +++ b/report_qweb_pdf_watermark/models/report.py @@ -0,0 +1,87 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from base64 import b64decode +from logging import getLogger +from pyPdf import PdfFileWriter, PdfFileReader +from pyPdf.utils import PdfReadError +from PIL import Image +from StringIO import StringIO +from openerp import api, models, tools +logger = getLogger(__name__) + + +class Report(models.Model): + _inherit = 'report' + + @api.v7 + def get_pdf( + self, cr, uid, ids, report_name, html=None, data=None, context=None + ): + # pylint: disable=R8110 + # this override cannot be done in v8 api + result = super(Report, self).get_pdf( + cr, uid, ids, report_name, html=html, data=data, + context=context + ) + report = self._get_report_from_name(cr, uid, report_name) + watermark = None + if report.pdf_watermark: + watermark = b64decode(report.pdf_watermark) + else: + env = api.Environment(cr, uid, context) + watermark = tools.safe_eval( + report.pdf_watermark_expression or 'None', + dict(env=env, docs=env[report.model].browse(ids)), + ) + if watermark: + watermark = b64decode(watermark) + + if not watermark: + return result + + pdf = PdfFileWriter() + pdf_watermark = None + try: + pdf_watermark = PdfFileReader(StringIO(watermark)) + except PdfReadError: + # let's see if we can convert this with pillow + try: + image = Image.open(StringIO(watermark)) + pdf_buffer = StringIO() + if image.mode != 'RGB': + image = image.convert('RGB') + resolution = image.info.get( + 'dpi', report.paperformat_id.dpi or 90 + ) + if isinstance(resolution, tuple): + resolution = resolution[0] + image.save(pdf_buffer, 'pdf', resolution=resolution) + pdf_watermark = PdfFileReader(pdf_buffer) + except: + logger.exception('Failed to load watermark') + + if not pdf_watermark: + logger.error( + 'No usable watermark found, got %s...', watermark[:100] + ) + return result + + if pdf_watermark.numPages < 1: + logger.error('Your watermark pdf does not contain any pages') + return result + if pdf_watermark.numPages > 1: + logger.debug('Your watermark pdf contains more than one page, ' + 'all but the first one will be ignored') + + for page in PdfFileReader(StringIO(result)).pages: + watermark_page = pdf.addBlankPage( + page.mediaBox.getWidth(), page.mediaBox.getHeight() + ) + watermark_page.mergePage(pdf_watermark.getPage(0)) + watermark_page.mergePage(page) + + pdf_content = StringIO() + pdf.write(pdf_content) + + return pdf_content.getvalue() diff --git a/report_qweb_pdf_watermark/static/description/icon.png b/report_qweb_pdf_watermark/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/report_qweb_pdf_watermark/tests/__init__.py b/report_qweb_pdf_watermark/tests/__init__.py new file mode 100644 index 00000000..e4637a64 --- /dev/null +++ b/report_qweb_pdf_watermark/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from . import test_report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py new file mode 100644 index 00000000..7525a95a --- /dev/null +++ b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# © 2016 Therp BV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from openerp.tests.common import TransactionCase + + +class TestReportQwebPdfWatermark(TransactionCase): + def test_report_qweb_pdf_watermark(self): + # with our image, we have three + self._test_report_images(3) + + self.env.ref('report_qweb_pdf_watermark.demo_report').write({ + 'pdf_watermark_expression': False, + }) + # without, we have two + self._test_report_images(2) + + self.env.ref('report_qweb_pdf_watermark.demo_report').write({ + 'pdf_watermark': self.env.user.company_id.logo, + }) + # and now we should have three again + self._test_report_images(3) + + def _test_report_images(self, number): + pdf = self.registry['report'].get_pdf( + self.cr, + self.uid, + self.env['res.users'].search([]).ids, + 'report_qweb_pdf_watermark.demo_report_view', + context={} + ) + self.assertEqual(pdf.count('/Subtype /Image'), number) diff --git a/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml b/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml new file mode 100644 index 00000000..a9b59502 --- /dev/null +++ b/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml @@ -0,0 +1,15 @@ + + + + + ir.actions.report.xml + + + + + + + + + + From 973c6c1a0552e4b8fa948f6a8597a3679b95919c Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 14 Jan 2017 00:38:46 -0500 Subject: [PATCH 02/17] OCA Transbot updated translations from Transifex --- report_qweb_pdf_watermark/i18n/ca.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/da.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/de.po | 54 +++++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/el_GR.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/es.po | 54 +++++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/es_CO.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/fr.po | 52 ++++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/gl.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/hr.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/it.po | 52 ++++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/nb_NO.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/pl.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/pt.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/pt_BR.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/pt_PT.po | 52 ++++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/sl.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/tr.po | 51 +++++++++++++++++++++++ report_qweb_pdf_watermark/i18n/tr_TR.po | 51 +++++++++++++++++++++++ 18 files changed, 927 insertions(+) create mode 100644 report_qweb_pdf_watermark/i18n/ca.po create mode 100644 report_qweb_pdf_watermark/i18n/da.po create mode 100644 report_qweb_pdf_watermark/i18n/de.po create mode 100644 report_qweb_pdf_watermark/i18n/el_GR.po create mode 100644 report_qweb_pdf_watermark/i18n/es.po create mode 100644 report_qweb_pdf_watermark/i18n/es_CO.po create mode 100644 report_qweb_pdf_watermark/i18n/fr.po create mode 100644 report_qweb_pdf_watermark/i18n/gl.po create mode 100644 report_qweb_pdf_watermark/i18n/hr.po create mode 100644 report_qweb_pdf_watermark/i18n/it.po create mode 100644 report_qweb_pdf_watermark/i18n/nb_NO.po create mode 100644 report_qweb_pdf_watermark/i18n/pl.po create mode 100644 report_qweb_pdf_watermark/i18n/pt.po create mode 100644 report_qweb_pdf_watermark/i18n/pt_BR.po create mode 100644 report_qweb_pdf_watermark/i18n/pt_PT.po create mode 100644 report_qweb_pdf_watermark/i18n/sl.po create mode 100644 report_qweb_pdf_watermark/i18n/tr.po create mode 100644 report_qweb_pdf_watermark/i18n/tr_TR.po diff --git a/report_qweb_pdf_watermark/i18n/ca.po b/report_qweb_pdf_watermark/i18n/ca.po new file mode 100644 index 00000000..922605a1 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/ca.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Carles Antoli , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Carles Antoli , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Informe" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/da.po b/report_qweb_pdf_watermark/i18n/da.po new file mode 100644 index 00000000..d4abe9a7 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/da.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Hans Henrik Gabelgaard , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Hans Henrik Gabelgaard , 2017\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Rapport" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/de.po b/report_qweb_pdf_watermark/i18n/de.po new file mode 100644 index 00000000..07eaf28f --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/de.po @@ -0,0 +1,54 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# OCA Transbot , 2017 +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-04 05:58+0000\n" +"PO-Revision-Date: 2017-03-04 05:58+0000\n" +"Last-Translator: Rudolf Schnapka , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" +"Ein Ausdruck der base64-geschlüsselte Daten, zur Verwendung als Wasserzeichen, liefert.\n" +"Sie haben die Variablen 'env' und 'docs' zur Verfügung" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "Beispielbericht" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Bericht" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "Wasserzeichen" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "Wasserzeichnen-Ausdruck" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/el_GR.po b/report_qweb_pdf_watermark/i18n/el_GR.po new file mode 100644 index 00000000..5e375d30 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/el_GR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Kostas Goutoudis , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Kostas Goutoudis , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el_GR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Αναφορά" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/es.po b/report_qweb_pdf_watermark/i18n/es.po new file mode 100644 index 00000000..8e2d25cf --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/es.po @@ -0,0 +1,54 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Pedro M. Baeza , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" +"Una expresión que obtenga los datos codificados en base64 a ser usada como marca de agua.\n" +"Tiene acceso a las variables `env` y `docs`." + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "Informe demo" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Informe" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "Marca de agua" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "Expresión para la marca de agua" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/es_CO.po b/report_qweb_pdf_watermark/i18n/es_CO.po new file mode 100644 index 00000000..02428bcf --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/es_CO.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# John Toro , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: John Toro , 2017\n" +"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/es_CO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_CO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Iforme" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/fr.po b/report_qweb_pdf_watermark/i18n/fr.po new file mode 100644 index 00000000..7119bbd0 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/fr.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Yannick Vaucher , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Rapport" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/gl.po b/report_qweb_pdf_watermark/i18n/gl.po new file mode 100644 index 00000000..a1a41315 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/gl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Alejandro Santana , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Alejandro Santana , 2017\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Informe" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/hr.po b/report_qweb_pdf_watermark/i18n/hr.po new file mode 100644 index 00000000..1fba7351 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/hr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/it.po b/report_qweb_pdf_watermark/i18n/it.po new file mode 100644 index 00000000..76fe5970 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/it.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Paolo Valier , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Report" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/nb_NO.po b/report_qweb_pdf_watermark/i18n/nb_NO.po new file mode 100644 index 00000000..9ef3189b --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/nb_NO.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Imre Kristoffer Eilertsen , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Imre Kristoffer Eilertsen , 2017\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nb_NO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Rapport" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/pl.po b/report_qweb_pdf_watermark/i18n/pl.po new file mode 100644 index 00000000..57f39208 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/pl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pl\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Raport" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/pt.po b/report_qweb_pdf_watermark/i18n/pt.po new file mode 100644 index 00000000..b4eee93e --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/pt.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Relatório" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/pt_BR.po b/report_qweb_pdf_watermark/i18n/pt_BR.po new file mode 100644 index 00000000..6002005f --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/pt_BR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Armando Vulcano Junior , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Armando Vulcano Junior , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Relatório" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/pt_PT.po b/report_qweb_pdf_watermark/i18n/pt_PT.po new file mode 100644 index 00000000..9be87c18 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/pt_PT.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# OCA Transbot , 2017 +# Carla Berjano , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-14 06:07+0000\n" +"PO-Revision-Date: 2017-01-14 06:07+0000\n" +"Last-Translator: Carla Berjano , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Relatório" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/sl.po b/report_qweb_pdf_watermark/i18n/sl.po new file mode 100644 index 00000000..b75fa349 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/sl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Matjaž Mozetič , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Matjaž Mozetič , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Poročilo" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" diff --git a/report_qweb_pdf_watermark/i18n/tr.po b/report_qweb_pdf_watermark/i18n/tr.po new file mode 100644 index 00000000..d721393f --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/tr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Ahmet Altinisik , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Ahmet Altinisik , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" diff --git a/report_qweb_pdf_watermark/i18n/tr_TR.po b/report_qweb_pdf_watermark/i18n/tr_TR.po new file mode 100644 index 00000000..3ed8bbdb --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/tr_TR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Ozge Altinisik , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-10 03:40+0000\n" +"PO-Revision-Date: 2017-01-10 03:40+0000\n" +"Last-Translator: Ozge Altinisik , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Rapor" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" From d7879b27e80b86d162538b282e5cc410427465b1 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Sat, 22 Apr 2017 14:39:22 +0200 Subject: [PATCH 03/17] [MIG] report_qweb_pdf_watermark --- report_qweb_pdf_watermark/README.rst | 7 ++- .../{__openerp__.py => __manifest__.py} | 2 +- report_qweb_pdf_watermark/demo/report.xml | 52 +++++++++---------- .../models/ir_actions_report_xml.py | 2 +- report_qweb_pdf_watermark/models/report.py | 19 +++---- .../tests/test_report_qweb_pdf_watermark.py | 5 +- .../views/ir_actions_report_xml.xml | 24 ++++----- 7 files changed, 48 insertions(+), 63 deletions(-) rename report_qweb_pdf_watermark/{__openerp__.py => __manifest__.py} (94%) diff --git a/report_qweb_pdf_watermark/README.rst b/report_qweb_pdf_watermark/README.rst index 35c63a05..a15b380e 100644 --- a/report_qweb_pdf_watermark/README.rst +++ b/report_qweb_pdf_watermark/README.rst @@ -6,9 +6,7 @@ Pdf watermark ============= -This module was written to add watermarks (backgrounds) to PDF reports. - -This is necessary because of the way wkhtmltopdf handles headers and footers, in the current versions if quite impossible to have a background for the complete page. +This module was written to add watermarks (backgrounds) to PDF reports. Because of the way wkhtmltopdf handles headers and footers in the current versions, it is quite impossible to have a background for the complete page using HTML and CSS. That is why this module inserts the image at the PDF level. Usage ===== @@ -17,7 +15,7 @@ To use this module, you need to: #. go to your report #. select a PDF or image to use as watermark. Note that resolutions and size must match, otherwise you'll have funny results -#. advanced users (members of group technical settings) can also fill in an expression that returns the data (base64 encoded) to be used as watermark +#. You can also fill in an expression that returns the data (base64 encoded) to be used as watermark .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot @@ -43,6 +41,7 @@ Contributors ------------ * Holger Brunn +* Stefan Rijnhart Do not contact contributors directly about help with questions or problems concerning this addon, but use the `community mailing list `_ or the `appropriate specialized mailinglist `_ for help, and the bug tracker linked in `Bug Tracker`_ above for technical issues. diff --git a/report_qweb_pdf_watermark/__openerp__.py b/report_qweb_pdf_watermark/__manifest__.py similarity index 94% rename from report_qweb_pdf_watermark/__openerp__.py rename to report_qweb_pdf_watermark/__manifest__.py index 74ccecf9..ef02ede8 100644 --- a/report_qweb_pdf_watermark/__openerp__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Pdf watermark", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", "author": "Therp BV,Odoo Community Association (OCA)", "license": "AGPL-3", "category": "Reporting", diff --git a/report_qweb_pdf_watermark/demo/report.xml b/report_qweb_pdf_watermark/demo/report.xml index c25210ba..7528dbf9 100644 --- a/report_qweb_pdf_watermark/demo/report.xml +++ b/report_qweb_pdf_watermark/demo/report.xml @@ -1,30 +1,28 @@ - - - + - - docs[:1].company_id.logo - - + diff --git a/report_qweb_pdf_watermark/models/ir_actions_report_xml.py b/report_qweb_pdf_watermark/models/ir_actions_report_xml.py index d703c028..ff211619 100644 --- a/report_qweb_pdf_watermark/models/ir_actions_report_xml.py +++ b/report_qweb_pdf_watermark/models/ir_actions_report_xml.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import fields, models +from odoo import fields, models class IrActionsReportXml(models.Model): diff --git a/report_qweb_pdf_watermark/models/report.py b/report_qweb_pdf_watermark/models/report.py index acb9aff6..5125cd3c 100644 --- a/report_qweb_pdf_watermark/models/report.py +++ b/report_qweb_pdf_watermark/models/report.py @@ -7,32 +7,25 @@ from pyPdf import PdfFileWriter, PdfFileReader from pyPdf.utils import PdfReadError from PIL import Image from StringIO import StringIO -from openerp import api, models, tools +from odoo import api, models, tools logger = getLogger(__name__) class Report(models.Model): _inherit = 'report' - @api.v7 - def get_pdf( - self, cr, uid, ids, report_name, html=None, data=None, context=None - ): - # pylint: disable=R8110 - # this override cannot be done in v8 api + @api.model + def get_pdf(self, docids, report_name, html=None, data=None): result = super(Report, self).get_pdf( - cr, uid, ids, report_name, html=html, data=data, - context=context - ) - report = self._get_report_from_name(cr, uid, report_name) + docids, report_name, html=html, data=data) + report = self._get_report_from_name(report_name) watermark = None if report.pdf_watermark: watermark = b64decode(report.pdf_watermark) else: - env = api.Environment(cr, uid, context) watermark = tools.safe_eval( report.pdf_watermark_expression or 'None', - dict(env=env, docs=env[report.model].browse(ids)), + dict(env=self.env, docs=self.env[report.model].browse(docids)), ) if watermark: watermark = b64decode(watermark) diff --git a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py index 7525a95a..c39e8cdd 100644 --- a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py +++ b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py @@ -22,11 +22,8 @@ class TestReportQwebPdfWatermark(TransactionCase): self._test_report_images(3) def _test_report_images(self, number): - pdf = self.registry['report'].get_pdf( - self.cr, - self.uid, + pdf = self.env['report'].get_pdf( self.env['res.users'].search([]).ids, 'report_qweb_pdf_watermark.demo_report_view', - context={} ) self.assertEqual(pdf.count('/Subtype /Image'), number) diff --git a/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml b/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml index a9b59502..3668c4fc 100644 --- a/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml +++ b/report_qweb_pdf_watermark/views/ir_actions_report_xml.xml @@ -1,15 +1,13 @@ - - - - ir.actions.report.xml - - - - - - + + + ir.actions.report.xml + + + + + - - - + + + From 5c89906e770d82a2ad369dae7673caff31d664a4 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Mon, 24 Apr 2017 19:36:34 +0200 Subject: [PATCH 04/17] [ADD] Prioritize background transparency --- report_qweb_pdf_watermark/README.rst | 4 ++++ report_qweb_pdf_watermark/__manifest__.py | 1 + .../static/src/css/report_qweb_pdf_watermark.css | 3 +++ report_qweb_pdf_watermark/views/layout_templates.xml | 10 ++++++++++ 4 files changed, 18 insertions(+) create mode 100644 report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css create mode 100644 report_qweb_pdf_watermark/views/layout_templates.xml diff --git a/report_qweb_pdf_watermark/README.rst b/report_qweb_pdf_watermark/README.rst index a15b380e..cac6f764 100644 --- a/report_qweb_pdf_watermark/README.rst +++ b/report_qweb_pdf_watermark/README.rst @@ -21,6 +21,10 @@ To use this module, you need to: :alt: Try me on Runbot :target: https://runbot.odoo-community.org/runbot/143/8.0 +Known Issues +============ +This module depends on support for transparent backgrounds in Wkhtmltopdf, which has been flaky in the past. This module has been reported to work with Wkhtmltopdf 0.12.4. + Bug Tracker =========== diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py index ef02ede8..e6e779d4 100644 --- a/report_qweb_pdf_watermark/__manifest__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -14,5 +14,6 @@ "data": [ "demo/report.xml", "views/ir_actions_report_xml.xml", + "views/layout_templates.xml", ], } diff --git a/report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css b/report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css new file mode 100644 index 00000000..83cc2eb0 --- /dev/null +++ b/report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css @@ -0,0 +1,3 @@ +body { + background: transparent !important; +} diff --git a/report_qweb_pdf_watermark/views/layout_templates.xml b/report_qweb_pdf_watermark/views/layout_templates.xml new file mode 100644 index 00000000..fee74c75 --- /dev/null +++ b/report_qweb_pdf_watermark/views/layout_templates.xml @@ -0,0 +1,10 @@ + + + + + From 36190236a3e39a554687db41b17552ce19b9c877 Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 3 Jun 2017 08:34:25 +0200 Subject: [PATCH 05/17] OCA Transbot updated translations from Transifex --- report_qweb_pdf_watermark/i18n/hr_HR.po | 51 +++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 report_qweb_pdf_watermark/i18n/hr_HR.po diff --git a/report_qweb_pdf_watermark/i18n/hr_HR.po b/report_qweb_pdf_watermark/i18n/hr_HR.po new file mode 100644 index 00000000..8682c48f --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/hr_HR.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-31 03:52+0000\n" +"PO-Revision-Date: 2017-05-31 03:52+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" From 1986d55cedd2a6190025dc997df6a93ab34937ea Mon Sep 17 00:00:00 2001 From: etobella Date: Tue, 20 Jun 2017 11:23:36 +0200 Subject: [PATCH 06/17] [FIX] Fix Watermark from PNG --- report_qweb_pdf_watermark/__manifest__.py | 3 ++- report_qweb_pdf_watermark/models/report.py | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py index e6e779d4..95b4c536 100644 --- a/report_qweb_pdf_watermark/__manifest__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -4,7 +4,8 @@ { "name": "Pdf watermark", "version": "10.0.1.0.0", - "author": "Therp BV,Odoo Community Association (OCA)", + "author": "Therp BV, " + "Odoo Community Association (OCA)", "license": "AGPL-3", "category": "Reporting", "summary": "Add watermarks to your QWEB PDF reports", diff --git a/report_qweb_pdf_watermark/models/report.py b/report_qweb_pdf_watermark/models/report.py index 5125cd3c..82d0d311 100644 --- a/report_qweb_pdf_watermark/models/report.py +++ b/report_qweb_pdf_watermark/models/report.py @@ -8,6 +8,12 @@ from pyPdf.utils import PdfReadError from PIL import Image from StringIO import StringIO from odoo import api, models, tools +from PIL import PdfImagePlugin # flake8: noqa + +# PdfImagePlugin must be loaded in order to work PNG to PDF transformation +# This issue is related to Pillow creation, as can be seen in its source code: +# https://github.com/python-pillow/Pillow/blob/master/PIL/PdfImagePlugin.py + logger = getLogger(__name__) @@ -40,6 +46,7 @@ class Report(models.Model): except PdfReadError: # let's see if we can convert this with pillow try: + Image.init() image = Image.open(StringIO(watermark)) pdf_buffer = StringIO() if image.mode != 'RGB': From 3bba0bfafc198f375d836154f4cba97d68463e7f Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 1 Jul 2017 09:19:08 +0200 Subject: [PATCH 07/17] OCA Transbot updated translations from Transifex --- report_qweb_pdf_watermark/i18n/hr_HR.po | 14 ++++--- report_qweb_pdf_watermark/i18n/nl_NL.po | 51 +++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 report_qweb_pdf_watermark/i18n/nl_NL.po diff --git a/report_qweb_pdf_watermark/i18n/hr_HR.po b/report_qweb_pdf_watermark/i18n/hr_HR.po index 8682c48f..cd44a130 100644 --- a/report_qweb_pdf_watermark/i18n/hr_HR.po +++ b/report_qweb_pdf_watermark/i18n/hr_HR.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-05-31 03:52+0000\n" -"PO-Revision-Date: 2017-05-31 03:52+0000\n" +"POT-Creation-Date: 2017-07-13 02:42+0000\n" +"PO-Revision-Date: 2017-07-13 02:42+0000\n" "Last-Translator: Bole , 2017\n" "Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" "MIME-Version: 1.0\n" @@ -24,26 +24,28 @@ msgid "" "An expression yielding the base64 encoded data to be used as watermark. \n" "You have access to variables `env` and `docs`" msgstr "" +"Izraz koji polučuje base46 kodirane podatke koji se koriste kao vodeni žig.\n" +"Imate pristup varijablama 'env' i 'docs'" #. module: report_qweb_pdf_watermark #: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report msgid "Demo report" -msgstr "" +msgstr "Demo izvještaj" #. module: report_qweb_pdf_watermark #: model:ir.model,name:report_qweb_pdf_watermark.model_report msgid "Report" -msgstr "" +msgstr "Izvještaj" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark msgid "Watermark" -msgstr "" +msgstr "Vodeni žig" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression msgid "Watermark expression" -msgstr "" +msgstr "Izraz vodenog žiga" #. module: report_qweb_pdf_watermark #: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml diff --git a/report_qweb_pdf_watermark/i18n/nl_NL.po b/report_qweb_pdf_watermark/i18n/nl_NL.po new file mode 100644 index 00000000..384ca4ac --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/nl_NL.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 00:28+0000\n" +"PO-Revision-Date: 2017-06-23 00:28+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "" +"An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "Rapport" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "ir.actions.report.xml" From 79546f7be534a13a002f6aabeadf2fd0cbd131e9 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Thu, 8 Jun 2017 17:01:05 +0200 Subject: [PATCH 08/17] [IMP] use PyPDF2 if possible --- report_qweb_pdf_watermark/README.rst | 5 +++++ report_qweb_pdf_watermark/__manifest__.py | 2 +- report_qweb_pdf_watermark/models/report.py | 20 +++++++++++++------- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/report_qweb_pdf_watermark/README.rst b/report_qweb_pdf_watermark/README.rst index cac6f764..07f681b1 100644 --- a/report_qweb_pdf_watermark/README.rst +++ b/report_qweb_pdf_watermark/README.rst @@ -8,6 +8,11 @@ Pdf watermark This module was written to add watermarks (backgrounds) to PDF reports. Because of the way wkhtmltopdf handles headers and footers in the current versions, it is quite impossible to have a background for the complete page using HTML and CSS. That is why this module inserts the image at the PDF level. +Installation +============ + +This module works out of the box, but is faster if you install the python library PyPDF2. + Usage ===== diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py index 95b4c536..d11b8493 100644 --- a/report_qweb_pdf_watermark/__manifest__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Pdf watermark", - "version": "10.0.1.0.0", + "version": "10.0.1.0.1", "author": "Therp BV, " "Odoo Community Association (OCA)", "license": "AGPL-3", diff --git a/report_qweb_pdf_watermark/models/report.py b/report_qweb_pdf_watermark/models/report.py index 82d0d311..cc89490b 100644 --- a/report_qweb_pdf_watermark/models/report.py +++ b/report_qweb_pdf_watermark/models/report.py @@ -3,16 +3,22 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from base64 import b64decode from logging import getLogger -from pyPdf import PdfFileWriter, PdfFileReader -from pyPdf.utils import PdfReadError from PIL import Image from StringIO import StringIO -from odoo import api, models, tools -from PIL import PdfImagePlugin # flake8: noqa -# PdfImagePlugin must be loaded in order to work PNG to PDF transformation -# This issue is related to Pillow creation, as can be seen in its source code: -# https://github.com/python-pillow/Pillow/blob/master/PIL/PdfImagePlugin.py +from pyPdf import PdfFileWriter, PdfFileReader +from pyPdf.utils import PdfReadError +try: + from PyPDF2 import PdfFileWriter, PdfFileReader # pylint: disable=W0404 + from PyPDF2.utils import PdfReadError # pylint: disable=W0404 +except ImportError: + pass +try: + # we need this to be sure PIL has loaded PDF support + from PIL import PdfImagePlugin # noqa: F401 +except ImportError: + pass +from odoo import api, models, tools logger = getLogger(__name__) From a7a6fcab90c075cc6c91db85dce54851f56773cf Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 18 Jul 2017 09:38:56 +0200 Subject: [PATCH 09/17] [UPD] build environment --- .../tests/test_report_qweb_pdf_watermark.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py index c39e8cdd..9397d4d8 100644 --- a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py +++ b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py @@ -1,11 +1,13 @@ # -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp.tests.common import TransactionCase +from PIL import Image +from openerp.tests.common import HttpCase -class TestReportQwebPdfWatermark(TransactionCase): +class TestReportQwebPdfWatermark(HttpCase): def test_report_qweb_pdf_watermark(self): + Image.init() # with our image, we have three self._test_report_images(3) From 478724e53a159bace852d53918999ef9db17b7ae Mon Sep 17 00:00:00 2001 From: Jordi Ballester Date: Thu, 14 Sep 2017 13:35:59 +0200 Subject: [PATCH 10/17] fix test_report_qweb_signer - tests were causing travis to stall --- .../tests/test_report_qweb_pdf_watermark.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py index 9397d4d8..19d51961 100644 --- a/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py +++ b/report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py @@ -2,7 +2,7 @@ # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from PIL import Image -from openerp.tests.common import HttpCase +from odoo.tests.common import HttpCase class TestReportQwebPdfWatermark(HttpCase): From 818b3b7ee500590bf3103c826567b084fd22d28a Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sat, 3 Mar 2018 11:38:00 +0100 Subject: [PATCH 11/17] OCA Transbot updated translations from Transifex --- report_qweb_pdf_watermark/i18n/hr.po | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/report_qweb_pdf_watermark/i18n/hr.po b/report_qweb_pdf_watermark/i18n/hr.po index 1fba7351..bf2d3556 100644 --- a/report_qweb_pdf_watermark/i18n/hr.po +++ b/report_qweb_pdf_watermark/i18n/hr.po @@ -3,14 +3,15 @@ # * report_qweb_pdf_watermark # # Translators: -# Bole , 2017 +# OCA Transbot , 2017 +# Bole , 2018 msgid "" msgstr "" -"Project-Id-Version: Odoo Server 9.0c\n" +"Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-10 03:40+0000\n" -"PO-Revision-Date: 2017-01-10 03:40+0000\n" -"Last-Translator: Bole , 2017\n" +"POT-Creation-Date: 2018-02-16 01:44+0000\n" +"PO-Revision-Date: 2018-02-16 01:44+0000\n" +"Last-Translator: Bole , 2018\n" "Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,26 +25,28 @@ msgid "" "An expression yielding the base64 encoded data to be used as watermark. \n" "You have access to variables `env` and `docs`" msgstr "" +"Izraz koji polučuje base46 kodirane podatke koji se koriste kao vodeni žig.\n" +"Imate pristup varijablama 'env' i 'docs'" #. module: report_qweb_pdf_watermark #: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report msgid "Demo report" -msgstr "" +msgstr "Demo izvještaj" #. module: report_qweb_pdf_watermark #: model:ir.model,name:report_qweb_pdf_watermark.model_report msgid "Report" -msgstr "" +msgstr "Izvještaj" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark msgid "Watermark" -msgstr "" +msgstr "Vodeni žig" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression msgid "Watermark expression" -msgstr "" +msgstr "Izraz vodenog žiga" #. module: report_qweb_pdf_watermark #: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml From b77cf4073fe7f1cb7203ed1b12f9a6c3b876c56c Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Wed, 28 Feb 2018 15:40:35 +0100 Subject: [PATCH 12/17] [FIX] Don't break printing some upstream reports with invalid models When no background configuration is present on the report definition, don't try to browse the report model especially because this breaks some upstream reports (see https://github.com/odoo/odoo/pull/23389) --- report_qweb_pdf_watermark/__manifest__.py | 2 +- report_qweb_pdf_watermark/models/report.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py index d11b8493..f4ca0611 100644 --- a/report_qweb_pdf_watermark/__manifest__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -3,7 +3,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Pdf watermark", - "version": "10.0.1.0.1", + "version": "10.0.1.0.2", "author": "Therp BV, " "Odoo Community Association (OCA)", "license": "AGPL-3", diff --git a/report_qweb_pdf_watermark/models/report.py b/report_qweb_pdf_watermark/models/report.py index cc89490b..f77ed759 100644 --- a/report_qweb_pdf_watermark/models/report.py +++ b/report_qweb_pdf_watermark/models/report.py @@ -34,9 +34,9 @@ class Report(models.Model): watermark = None if report.pdf_watermark: watermark = b64decode(report.pdf_watermark) - else: + elif report.pdf_watermark_expression: watermark = tools.safe_eval( - report.pdf_watermark_expression or 'None', + report.pdf_watermark_expression, dict(env=self.env, docs=self.env[report.model].browse(docids)), ) if watermark: From 401a74f1e7d575df749c037f06761322a3d3ebaa Mon Sep 17 00:00:00 2001 From: oca-travis Date: Sat, 23 Jun 2018 20:06:13 +0000 Subject: [PATCH 13/17] [UPD] Update report_qweb_pdf_watermark.pot --- report_qweb_pdf_watermark/i18n/ca.po | 4 +- report_qweb_pdf_watermark/i18n/da.po | 4 +- report_qweb_pdf_watermark/i18n/de.po | 7 +-- report_qweb_pdf_watermark/i18n/el_GR.po | 7 +-- report_qweb_pdf_watermark/i18n/es.po | 7 +-- report_qweb_pdf_watermark/i18n/es_CO.po | 7 +-- report_qweb_pdf_watermark/i18n/fr.po | 4 +- report_qweb_pdf_watermark/i18n/gl.po | 4 +- report_qweb_pdf_watermark/i18n/hr.po | 7 +-- report_qweb_pdf_watermark/i18n/hr_HR.po | 10 ++-- report_qweb_pdf_watermark/i18n/it.po | 4 +- report_qweb_pdf_watermark/i18n/nb_NO.po | 7 +-- report_qweb_pdf_watermark/i18n/nl_NL.po | 7 +-- report_qweb_pdf_watermark/i18n/pl.po | 7 +-- report_qweb_pdf_watermark/i18n/pt.po | 4 +- report_qweb_pdf_watermark/i18n/pt_BR.po | 7 +-- report_qweb_pdf_watermark/i18n/pt_PT.po | 7 +-- .../i18n/report_qweb_pdf_watermark.pot | 46 +++++++++++++++++++ report_qweb_pdf_watermark/i18n/sl.po | 7 +-- report_qweb_pdf_watermark/i18n/tr.po | 4 +- report_qweb_pdf_watermark/i18n/tr_TR.po | 7 +-- 21 files changed, 114 insertions(+), 54 deletions(-) create mode 100644 report_qweb_pdf_watermark/i18n/report_qweb_pdf_watermark.pot diff --git a/report_qweb_pdf_watermark/i18n/ca.po b/report_qweb_pdf_watermark/i18n/ca.po index 922605a1..b4e69712 100644 --- a/report_qweb_pdf_watermark/i18n/ca.po +++ b/report_qweb_pdf_watermark/i18n/ca.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Carles Antoli , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Carles Antoli , 2017\n" "Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/da.po b/report_qweb_pdf_watermark/i18n/da.po index d4abe9a7..addddf40 100644 --- a/report_qweb_pdf_watermark/i18n/da.po +++ b/report_qweb_pdf_watermark/i18n/da.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Hans Henrik Gabelgaard , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Hans Henrik Gabelgaard , 2017\n" "Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/de.po b/report_qweb_pdf_watermark/i18n/de.po index 07eaf28f..dfce4fd3 100644 --- a/report_qweb_pdf_watermark/i18n/de.po +++ b/report_qweb_pdf_watermark/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # OCA Transbot , 2017 # Rudolf Schnapka , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-03-04 05:58+0000\n" "Last-Translator: Rudolf Schnapka , 2017\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark @@ -25,7 +25,8 @@ msgid "" "An expression yielding the base64 encoded data to be used as watermark. \n" "You have access to variables `env` and `docs`" msgstr "" -"Ein Ausdruck der base64-geschlüsselte Daten, zur Verwendung als Wasserzeichen, liefert.\n" +"Ein Ausdruck der base64-geschlüsselte Daten, zur Verwendung als " +"Wasserzeichen, liefert.\n" "Sie haben die Variablen 'env' und 'docs' zur Verfügung" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/el_GR.po b/report_qweb_pdf_watermark/i18n/el_GR.po index 5e375d30..7c18715b 100644 --- a/report_qweb_pdf_watermark/i18n/el_GR.po +++ b/report_qweb_pdf_watermark/i18n/el_GR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Kostas Goutoudis , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-01-10 03:40+0000\n" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Kostas Goutoudis , 2017\n" -"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/es.po b/report_qweb_pdf_watermark/i18n/es.po index 8e2d25cf..dc33655c 100644 --- a/report_qweb_pdf_watermark/i18n/es.po +++ b/report_qweb_pdf_watermark/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Pedro M. Baeza , 2017 # OCA Transbot , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark @@ -25,7 +25,8 @@ msgid "" "An expression yielding the base64 encoded data to be used as watermark. \n" "You have access to variables `env` and `docs`" msgstr "" -"Una expresión que obtenga los datos codificados en base64 a ser usada como marca de agua.\n" +"Una expresión que obtenga los datos codificados en base64 a ser usada como " +"marca de agua.\n" "Tiene acceso a las variables `env` y `docs`." #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/es_CO.po b/report_qweb_pdf_watermark/i18n/es_CO.po index 02428bcf..9df7eded 100644 --- a/report_qweb_pdf_watermark/i18n/es_CO.po +++ b/report_qweb_pdf_watermark/i18n/es_CO.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # John Toro , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-01-10 03:40+0000\n" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: John Toro , 2017\n" -"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/es_CO/)\n" +"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/" +"es_CO/)\n" +"Language: es_CO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_CO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/fr.po b/report_qweb_pdf_watermark/i18n/fr.po index 7119bbd0..5f26afaf 100644 --- a/report_qweb_pdf_watermark/i18n/fr.po +++ b/report_qweb_pdf_watermark/i18n/fr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Yannick Vaucher , 2017 # OCA Transbot , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/gl.po b/report_qweb_pdf_watermark/i18n/gl.po index a1a41315..002e1e7b 100644 --- a/report_qweb_pdf_watermark/i18n/gl.po +++ b/report_qweb_pdf_watermark/i18n/gl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Alejandro Santana , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Alejandro Santana , 2017\n" "Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/hr.po b/report_qweb_pdf_watermark/i18n/hr.po index bf2d3556..65619109 100644 --- a/report_qweb_pdf_watermark/i18n/hr.po +++ b/report_qweb_pdf_watermark/i18n/hr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # OCA Transbot , 2017 # Bole , 2018 @@ -13,11 +13,12 @@ msgstr "" "PO-Revision-Date: 2018-02-16 01:44+0000\n" "Last-Translator: Bole , 2018\n" "Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression diff --git a/report_qweb_pdf_watermark/i18n/hr_HR.po b/report_qweb_pdf_watermark/i18n/hr_HR.po index cd44a130..a959f743 100644 --- a/report_qweb_pdf_watermark/i18n/hr_HR.po +++ b/report_qweb_pdf_watermark/i18n/hr_HR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Bole , 2017 msgid "" @@ -11,12 +11,14 @@ msgstr "" "POT-Creation-Date: 2017-07-13 02:42+0000\n" "PO-Revision-Date: 2017-07-13 02:42+0000\n" "Last-Translator: Bole , 2017\n" -"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: hr_HR\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression diff --git a/report_qweb_pdf_watermark/i18n/it.po b/report_qweb_pdf_watermark/i18n/it.po index 76fe5970..6051ac2c 100644 --- a/report_qweb_pdf_watermark/i18n/it.po +++ b/report_qweb_pdf_watermark/i18n/it.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Paolo Valier , 2017 # OCA Transbot , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/nb_NO.po b/report_qweb_pdf_watermark/i18n/nb_NO.po index 9ef3189b..438e944e 100644 --- a/report_qweb_pdf_watermark/i18n/nb_NO.po +++ b/report_qweb_pdf_watermark/i18n/nb_NO.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Imre Kristoffer Eilertsen , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-01-10 03:40+0000\n" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Imre Kristoffer Eilertsen , 2017\n" -"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/teams/23907/nb_NO/)\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/nl_NL.po b/report_qweb_pdf_watermark/i18n/nl_NL.po index 384ca4ac..bed64c88 100644 --- a/report_qweb_pdf_watermark/i18n/nl_NL.po +++ b/report_qweb_pdf_watermark/i18n/nl_NL.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Peter Hageman , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-06-23 00:28+0000\n" "PO-Revision-Date: 2017-06-23 00:28+0000\n" "Last-Translator: Peter Hageman , 2017\n" -"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/pl.po b/report_qweb_pdf_watermark/i18n/pl.po index 57f39208..fdfd3177 100644 --- a/report_qweb_pdf_watermark/i18n/pl.po +++ b/report_qweb_pdf_watermark/i18n/pl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression diff --git a/report_qweb_pdf_watermark/i18n/pt.po b/report_qweb_pdf_watermark/i18n/pt.po index b4eee93e..6a0a6a12 100644 --- a/report_qweb_pdf_watermark/i18n/pt.po +++ b/report_qweb_pdf_watermark/i18n/pt.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/pt_BR.po b/report_qweb_pdf_watermark/i18n/pt_BR.po index 6002005f..34f4b3f0 100644 --- a/report_qweb_pdf_watermark/i18n/pt_BR.po +++ b/report_qweb_pdf_watermark/i18n/pt_BR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Armando Vulcano Junior , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-01-10 03:40+0000\n" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Armando Vulcano Junior , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/pt_PT.po b/report_qweb_pdf_watermark/i18n/pt_PT.po index 9be87c18..356b37b8 100644 --- a/report_qweb_pdf_watermark/i18n/pt_PT.po +++ b/report_qweb_pdf_watermark/i18n/pt_PT.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # OCA Transbot , 2017 # Carla Berjano , 2017 @@ -12,11 +12,12 @@ msgstr "" "POT-Creation-Date: 2017-01-14 06:07+0000\n" "PO-Revision-Date: 2017-01-14 06:07+0000\n" "Last-Translator: Carla Berjano , 2017\n" -"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/report_qweb_pdf_watermark.pot b/report_qweb_pdf_watermark/i18n/report_qweb_pdf_watermark.pot new file mode 100644 index 00000000..f1e83ac4 --- /dev/null +++ b/report_qweb_pdf_watermark/i18n/report_qweb_pdf_watermark.pot @@ -0,0 +1,46 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * report_qweb_pdf_watermark +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "An expression yielding the base64 encoded data to be used as watermark. \n" +"You have access to variables `env` and `docs`" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.actions.report.xml,name:report_qweb_pdf_watermark.demo_report +msgid "Demo report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_report +msgid "Report" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark +msgid "Watermark" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model.fields,field_description:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression +msgid "Watermark expression" +msgstr "" + +#. module: report_qweb_pdf_watermark +#: model:ir.model,name:report_qweb_pdf_watermark.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + diff --git a/report_qweb_pdf_watermark/i18n/sl.po b/report_qweb_pdf_watermark/i18n/sl.po index b75fa349..fc2204a6 100644 --- a/report_qweb_pdf_watermark/i18n/sl.po +++ b/report_qweb_pdf_watermark/i18n/sl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Matjaž Mozetič , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Matjaž Mozetič , 2017\n" "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #. module: report_qweb_pdf_watermark #: model:ir.model.fields,help:report_qweb_pdf_watermark.field_ir_act_report_xml_pdf_watermark_expression diff --git a/report_qweb_pdf_watermark/i18n/tr.po b/report_qweb_pdf_watermark/i18n/tr.po index d721393f..fbf622e6 100644 --- a/report_qweb_pdf_watermark/i18n/tr.po +++ b/report_qweb_pdf_watermark/i18n/tr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Ahmet Altinisik , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Ahmet Altinisik , 2017\n" "Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: report_qweb_pdf_watermark diff --git a/report_qweb_pdf_watermark/i18n/tr_TR.po b/report_qweb_pdf_watermark/i18n/tr_TR.po index 3ed8bbdb..732297c1 100644 --- a/report_qweb_pdf_watermark/i18n/tr_TR.po +++ b/report_qweb_pdf_watermark/i18n/tr_TR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * report_qweb_pdf_watermark -# +# # Translators: # Ozge Altinisik , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-01-10 03:40+0000\n" "PO-Revision-Date: 2017-01-10 03:40+0000\n" "Last-Translator: Ozge Altinisik , 2017\n" -"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" #. module: report_qweb_pdf_watermark From f8a09788994b7c20f23da858d4008d0673f0bfc1 Mon Sep 17 00:00:00 2001 From: Rod Schouteden Date: Thu, 16 Aug 2018 17:55:26 +0200 Subject: [PATCH 14/17] [MIG] report_qweb_pdf_watermark: Migration to 11.0 --- report_qweb_pdf_watermark/README.rst | 5 +- report_qweb_pdf_watermark/__init__.py | 2 +- report_qweb_pdf_watermark/__manifest__.py | 17 +++-- report_qweb_pdf_watermark/demo/report.xml | 8 +-- report_qweb_pdf_watermark/i18n/ca.po | 10 +-- report_qweb_pdf_watermark/i18n/da.po | 10 +-- report_qweb_pdf_watermark/i18n/de.po | 15 ++-- report_qweb_pdf_watermark/i18n/el_GR.po | 13 ++-- report_qweb_pdf_watermark/i18n/es.po | 15 ++-- report_qweb_pdf_watermark/i18n/es_CO.po | 13 ++-- report_qweb_pdf_watermark/i18n/fr.po | 12 ++-- report_qweb_pdf_watermark/i18n/gl.po | 10 +-- report_qweb_pdf_watermark/i18n/hr.po | 36 +++++----- report_qweb_pdf_watermark/i18n/hr_HR.po | 18 +++-- report_qweb_pdf_watermark/i18n/it.po | 12 ++-- report_qweb_pdf_watermark/i18n/nb_NO.po | 13 ++-- report_qweb_pdf_watermark/i18n/nl_NL.po | 15 ++-- report_qweb_pdf_watermark/i18n/pl.po | 13 ++-- report_qweb_pdf_watermark/i18n/pt.po | 10 +-- report_qweb_pdf_watermark/i18n/pt_BR.po | 13 ++-- report_qweb_pdf_watermark/i18n/pt_PT.po | 15 ++-- report_qweb_pdf_watermark/i18n/sl.po | 13 ++-- report_qweb_pdf_watermark/i18n/tr.po | 12 ++-- report_qweb_pdf_watermark/i18n/tr_TR.po | 13 ++-- report_qweb_pdf_watermark/models/__init__.py | 2 - .../models/ir_actions_report_xml.py | 14 ---- report_qweb_pdf_watermark/models/report.py | 69 ++++++++++++------- report_qweb_pdf_watermark/tests/__init__.py | 1 - .../tests/test_report_qweb_pdf_watermark.py | 11 ++- .../views/ir_actions_report_xml.xml | 2 +- .../views/layout_templates.xml | 2 +- 31 files changed, 204 insertions(+), 210 deletions(-) delete mode 100644 report_qweb_pdf_watermark/models/ir_actions_report_xml.py diff --git a/report_qweb_pdf_watermark/README.rst b/report_qweb_pdf_watermark/README.rst index 07f681b1..16c8a95d 100644 --- a/report_qweb_pdf_watermark/README.rst +++ b/report_qweb_pdf_watermark/README.rst @@ -11,7 +11,9 @@ This module was written to add watermarks (backgrounds) to PDF reports. Because Installation ============ -This module works out of the box, but is faster if you install the python library PyPDF2. +As PyPDF is not supported in python3, you need to install PyPDF2:: + +$ pip install pypdf2 Usage ===== @@ -51,6 +53,7 @@ Contributors * Holger Brunn * Stefan Rijnhart +* Rod Schouteden Do not contact contributors directly about help with questions or problems concerning this addon, but use the `community mailing list `_ or the `appropriate specialized mailinglist `_ for help, and the bug tracker linked in `Bug Tracker`_ above for technical issues. diff --git a/report_qweb_pdf_watermark/__init__.py b/report_qweb_pdf_watermark/__init__.py index 7eda98a2..5c170507 100644 --- a/report_qweb_pdf_watermark/__init__.py +++ b/report_qweb_pdf_watermark/__init__.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + from . import models diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py index f4ca0611..74b5ad78 100644 --- a/report_qweb_pdf_watermark/__manifest__.py +++ b/report_qweb_pdf_watermark/__manifest__.py @@ -1,20 +1,29 @@ -# -*- coding: utf-8 -*- # © 2016 Therp BV # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Pdf watermark", - "version": "10.0.1.0.2", + "version": "11.0.1.0.0", "author": "Therp BV, " "Odoo Community Association (OCA)", "license": "AGPL-3", - "category": "Reporting", + "category": "Technical Settings", "summary": "Add watermarks to your QWEB PDF reports", + "website": "https://github.com/oca/reporting-engine", "depends": [ - 'report', + 'web', ], "data": [ "demo/report.xml", "views/ir_actions_report_xml.xml", "views/layout_templates.xml", ], + "demo": [ + "demo/report.xml" + ], + "intallable": True, + 'external_dependencies': { + 'python': [ + 'PyPDF2', + ], + }, } diff --git a/report_qweb_pdf_watermark/demo/report.xml b/report_qweb_pdf_watermark/demo/report.xml index 7528dbf9..1e07ba61 100644 --- a/report_qweb_pdf_watermark/demo/report.xml +++ b/report_qweb_pdf_watermark/demo/report.xml @@ -7,14 +7,14 @@ report_type="qweb-pdf" name="report_qweb_pdf_watermark.demo_report_view" file="report_qweb_pdf_watermark.demo_report_view" - paperformat="report.paperformat_euro" + paperformat="base.paperformat_euro" /> - + docs[:1].company_id.logo