web/web_assets_warmup/models/ir_actions_report.py

38 lines
1.2 KiB
Python

# Copyright 2020 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
import logging
from odoo import api, models
logger = logging.getLogger(__name__)
class IrActionsReport(models.Model):
_inherit = "ir.actions.report"
@api.model
def cron_generate_assets(self):
"""Ensure that the assets are well-generated in the database."""
logger.info("Ensure that assets are generated and stored in the database...")
# Call `_get_asset_nodes` as done when printing a report based on
# `web.report_layout` template (used by `web.html_container`)
options = {
"commit_assetsbundle": False,
"debug": False,
"inherit_branding": False,
"dev_mode": False,
"caller_template": "web.html_container",
}
assets_template_ids = [
"web.report_assets_common",
"web.assets_common",
"web.report_assets_pdf",
]
for xml_id in assets_template_ids:
self.env["ir.qweb"]._get_asset_nodes(
xmlid=xml_id, options=options, css=True, js=True
)
logger.info("Ensure that assets are generated and stored in the database: done")
return True