From ab7de7a93ce1b7ff31aaad548dec8e7c555c7ef2 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Sat, 22 Apr 2017 14:39:22 +0200 Subject: [PATCH] [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 + + + + + - - - + + +