From 91e8999b5cc2d22b43869b91753d865ae7c39a2e Mon Sep 17 00:00:00 2001 From: Vincent Renaville Date: Mon, 12 Dec 2022 10:31:16 +0100 Subject: [PATCH] feat: add kwkhtmltopdf asset fix (#395) * feat: add kwkhtmltopdf asset fix --- .travis.yml | 2 +- kwkhtmltopdf_assets/README.rst | 10 +++++++ kwkhtmltopdf_assets/__init__.py | 2 ++ kwkhtmltopdf_assets/__manifest__.py | 17 +++++++++++ kwkhtmltopdf_assets/models/__init__.py | 2 ++ kwkhtmltopdf_assets/models/ir_qweb.py | 30 +++++++++++++++++++ .../.setuptools-odoo-make-default-ignore | 2 ++ kwkhtmltopdf_assets/setup/README | 2 ++ requirements.txt | 2 +- 9 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 kwkhtmltopdf_assets/README.rst create mode 100644 kwkhtmltopdf_assets/__init__.py create mode 100644 kwkhtmltopdf_assets/__manifest__.py create mode 100644 kwkhtmltopdf_assets/models/__init__.py create mode 100644 kwkhtmltopdf_assets/models/ir_qweb.py create mode 100644 kwkhtmltopdf_assets/setup/.setuptools-odoo-make-default-ignore create mode 100644 kwkhtmltopdf_assets/setup/README diff --git a/.travis.yml b/.travis.yml index 5df21a0..8e1aa7e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,7 @@ branches: python: # Force a newer version than 3.7.1 which break build # due to https://bugs.python.org/issue34921 - - "3.7.2" + - "3.8" addons: postgresql: "9.5" diff --git a/kwkhtmltopdf_assets/README.rst b/kwkhtmltopdf_assets/README.rst new file mode 100644 index 0000000..2239c9f --- /dev/null +++ b/kwkhtmltopdf_assets/README.rst @@ -0,0 +1,10 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License + +============================ +Kwktnkltopdf Asset +============================ + +Force assets to be saved to be readable by kwkhtmltopdf server, the +first time you print a report it failed to generate +the pdf asset used for pdf diff --git a/kwkhtmltopdf_assets/__init__.py b/kwkhtmltopdf_assets/__init__.py new file mode 100644 index 0000000..a9e3372 --- /dev/null +++ b/kwkhtmltopdf_assets/__init__.py @@ -0,0 +1,2 @@ + +from . import models diff --git a/kwkhtmltopdf_assets/__manifest__.py b/kwkhtmltopdf_assets/__manifest__.py new file mode 100644 index 0000000..02b1ab9 --- /dev/null +++ b/kwkhtmltopdf_assets/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2016-2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + + +{ + "name": "Kwkhtmltopdf: Asset fix", + "version": "16.0.1.0.0", + "author": "Camptocamp,Odoo Community Association (OCA)", + "license": "AGPL-3", + "category": "category", + "depends": [ + "base", + ], + "website": "http://www.camptocamp.com", + "data": [], + "installable": True, +} diff --git a/kwkhtmltopdf_assets/models/__init__.py b/kwkhtmltopdf_assets/models/__init__.py new file mode 100644 index 0000000..0e71e21 --- /dev/null +++ b/kwkhtmltopdf_assets/models/__init__.py @@ -0,0 +1,2 @@ + +from . import ir_qweb diff --git a/kwkhtmltopdf_assets/models/ir_qweb.py b/kwkhtmltopdf_assets/models/ir_qweb.py new file mode 100644 index 0000000..354fe30 --- /dev/null +++ b/kwkhtmltopdf_assets/models/ir_qweb.py @@ -0,0 +1,30 @@ +# Copyright 2016-2019 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo.tools import config +from odoo import models + + +class IrQweb(models.AbstractModel): + + _inherit = "ir.qweb" + + def _generate_asset_nodes_cache( + self, + bundle, + css=True, + js=True, + debug=False, + async_load=False, + defer_load=False, + lazy_load=False, + media=None, + ): + context_for_printing = self.env.context.copy() + if not config["test_enable"]: + context_for_printing["commit_assetsbundle"] = True + return super( + IrQweb, self.with_context(**context_for_printing) + )._generate_asset_nodes( + bundle, css, js, debug, async_load, defer_load, lazy_load, media + ) diff --git a/kwkhtmltopdf_assets/setup/.setuptools-odoo-make-default-ignore b/kwkhtmltopdf_assets/setup/.setuptools-odoo-make-default-ignore new file mode 100644 index 0000000..207e615 --- /dev/null +++ b/kwkhtmltopdf_assets/setup/.setuptools-odoo-make-default-ignore @@ -0,0 +1,2 @@ +# addons listed in this file are ignored by +# setuptools-odoo-make-default (one addon per line) diff --git a/kwkhtmltopdf_assets/setup/README b/kwkhtmltopdf_assets/setup/README new file mode 100644 index 0000000..a63d633 --- /dev/null +++ b/kwkhtmltopdf_assets/setup/README @@ -0,0 +1,2 @@ +To learn more about this directory, please visit +https://pypi.python.org/pypi/setuptools-odoo diff --git a/requirements.txt b/requirements.txt index 4ac6ee1..dbd2660 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ redis==4.3.4 python-json-logger==2.0.4 statsd==4.0.1 python-swiftclient==4.1.0 -python-keystoneclient==5.0.1 +python-keystoneclient==5.0.0 keystoneauth1==5.0.0 # error with 5.x (ConstructorError: could not determine a constructor for the tag '!record') PyYAML==6.0