Browse Source

Merge pull request #126 from StefanRijnhart/10.0-report_qweb_pdf_watermark

10.0 report qweb pdf watermark
pull/131/merge
Pedro M. Baeza 8 years ago
committed by GitHub
parent
commit
c74b4e2b89
  1. 65
      report_qweb_pdf_watermark/README.rst
  2. 4
      report_qweb_pdf_watermark/__init__.py
  3. 19
      report_qweb_pdf_watermark/__manifest__.py
  4. 28
      report_qweb_pdf_watermark/demo/report.xml
  5. 51
      report_qweb_pdf_watermark/i18n/ca.po
  6. 51
      report_qweb_pdf_watermark/i18n/da.po
  7. 54
      report_qweb_pdf_watermark/i18n/de.po
  8. 51
      report_qweb_pdf_watermark/i18n/el_GR.po
  9. 54
      report_qweb_pdf_watermark/i18n/es.po
  10. 51
      report_qweb_pdf_watermark/i18n/es_CO.po
  11. 52
      report_qweb_pdf_watermark/i18n/fr.po
  12. 51
      report_qweb_pdf_watermark/i18n/gl.po
  13. 51
      report_qweb_pdf_watermark/i18n/hr.po
  14. 52
      report_qweb_pdf_watermark/i18n/it.po
  15. 51
      report_qweb_pdf_watermark/i18n/nb_NO.po
  16. 51
      report_qweb_pdf_watermark/i18n/pl.po
  17. 51
      report_qweb_pdf_watermark/i18n/pt.po
  18. 51
      report_qweb_pdf_watermark/i18n/pt_BR.po
  19. 52
      report_qweb_pdf_watermark/i18n/pt_PT.po
  20. 51
      report_qweb_pdf_watermark/i18n/sl.po
  21. 51
      report_qweb_pdf_watermark/i18n/tr.po
  22. 51
      report_qweb_pdf_watermark/i18n/tr_TR.po
  23. 5
      report_qweb_pdf_watermark/models/__init__.py
  24. 14
      report_qweb_pdf_watermark/models/ir_actions_report_xml.py
  25. 80
      report_qweb_pdf_watermark/models/report.py
  26. BIN
      report_qweb_pdf_watermark/static/description/icon.png
  27. 3
      report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css
  28. 4
      report_qweb_pdf_watermark/tests/__init__.py
  29. 29
      report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py
  30. 13
      report_qweb_pdf_watermark/views/ir_actions_report_xml.xml
  31. 10
      report_qweb_pdf_watermark/views/layout_templates.xml

65
report_qweb_pdf_watermark/README.rst

@ -0,0 +1,65 @@
.. 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. 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
=====
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
#. 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
: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
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/reporting-engine/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 <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Holger Brunn <hbrunn@therp.nl>
* Stefan Rijnhart <stefan@opener.am>
Do not contact contributors directly about help with questions or problems concerning this addon, but use the `community mailing list <mailto:community@mail.odoo.com>`_ or the `appropriate specialized mailinglist <https://odoo-community.org/groups>`_ 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.

4
report_qweb_pdf_watermark/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models

19
report_qweb_pdf_watermark/__manifest__.py

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Pdf watermark",
"version": "10.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",
"views/layout_templates.xml",
],
}

28
report_qweb_pdf_watermark/demo/report.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<report
id="demo_report"
string="Demo report"
model="res.users"
report_type="qweb-pdf"
name="report_qweb_pdf_watermark.demo_report_view"
file="report_qweb_pdf_watermark.demo_report_view"
paperformat="report.paperformat_euro"
/>
<record id="demo_report" model="ir.actions.report.xml">
<field name="pdf_watermark_expression">docs[:1].company_id.logo</field>
</record>
<template id="demo_report_view">
<t t-call="report.html_container">
<t t-call="report.external_layout">
<div class="page">
<ul>
<li t-foreach="docs" t-as="doc">
<t t-esc="doc.name" />
</li>
</ul>
</div>
</t>
</t>
</template>
</odoo>

51
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 <carlesantoli@hotmail.com>, 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 <carlesantoli@hotmail.com>, 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 ""

51
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 <hhg@gabelgaard.org>, 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 <hhg@gabelgaard.org>, 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 ""

54
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 <transbot@odoo-community.org>, 2017
# Rudolf Schnapka <rs@techno-flex.de>, 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 <rs@techno-flex.de>, 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"

51
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 <goutoudis@gmail.com>, 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 <goutoudis@gmail.com>, 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 ""

54
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 <pedro.baeza@gmail.com>, 2017
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 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"

51
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 <johntoro@gmail.com>, 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 <johntoro@gmail.com>, 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 ""

52
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 <yannick.vaucher@camptocamp.com>, 2017
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 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"

51
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 <alejandrosantana@anubia.es>, 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 <alejandrosantana@anubia.es>, 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 ""

51
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 <bole@dajmi5.com>, 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 <bole@dajmi5.com>, 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"

52
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 <paolo.valier@hotmail.it>, 2017
# OCA Transbot <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 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"

51
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 <imreeil42@gmail.com>, 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 <imreeil42@gmail.com>, 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 ""

51
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 <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 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 ""

51
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 <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 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 ""

51
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 <vulcano@uol.com.br>, 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 <vulcano@uol.com.br>, 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 ""

52
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 <transbot@odoo-community.org>, 2017
# Carla Berjano <berjano.carla@gmail.com>, 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 <berjano.carla@gmail.com>, 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"

51
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č <m.mozetic@matmoz.si>, 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č <m.mozetic@matmoz.si>, 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 ""

51
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 <aaltinisik@altinkaya.com.tr>, 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 <aaltinisik@altinkaya.com.tr>, 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"

51
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 <ozge@altinkaya.com.tr>, 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 <ozge@altinkaya.com.tr>, 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 ""

5
report_qweb_pdf_watermark/models/__init__.py

@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import ir_actions_report_xml
from . import report

14
report_qweb_pdf_watermark/models/ir_actions_report_xml.py

@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo 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`')

80
report_qweb_pdf_watermark/models/report.py

@ -0,0 +1,80 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# 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
logger = getLogger(__name__)
class Report(models.Model):
_inherit = 'report'
@api.model
def get_pdf(self, docids, report_name, html=None, data=None):
result = super(Report, self).get_pdf(
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:
watermark = tools.safe_eval(
report.pdf_watermark_expression or 'None',
dict(env=self.env, docs=self.env[report.model].browse(docids)),
)
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()

BIN
report_qweb_pdf_watermark/static/description/icon.png

After

Width: 128  |  Height: 128  |  Size: 9.2 KiB

3
report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css

@ -0,0 +1,3 @@
body {
background: transparent !important;
}

4
report_qweb_pdf_watermark/tests/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import test_report_qweb_pdf_watermark

29
report_qweb_pdf_watermark/tests/test_report_qweb_pdf_watermark.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# 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.env['report'].get_pdf(
self.env['res.users'].search([]).ids,
'report_qweb_pdf_watermark.demo_report_view',
)
self.assertEqual(pdf.count('/Subtype /Image'), number)

13
report_qweb_pdf_watermark/views/ir_actions_report_xml.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="act_report_xml_view" model="ir.ui.view">
<field name="model">ir.actions.report.xml</field>
<field name="inherit_id" ref="base.act_report_xml_view" />
<field name="arch" type="xml">
<field name="attachment" position="after">
<field name="pdf_watermark" attrs="{'invisible': [('report_type', '!=', 'qweb-pdf')]}" />
<field name="pdf_watermark_expression" attrs="{'invisible': [('report_type', '!=', 'qweb-pdf')]}" groups="base.group_no_one" />
</field>
</field>
</record>
</odoo>

10
report_qweb_pdf_watermark/views/layout_templates.xml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- Include fix for https://github.com/odoo/odoo/issues/16610 -->
<template id="assets_pdf" inherit_id="report.assets_pdf">
<link position="after">
<link href="/report_qweb_pdf_watermark/static/src/css/report_qweb_pdf_watermark.css"
rel="stylesheet"/>
</link>
</template>
</odoo>
Loading…
Cancel
Save