diff options
| author | Denis Ledoux <dle@odoo.com> | 2018-06-22 15:23:53 +0200 |
|---|---|---|
| committer | Denis Ledoux <dle@odoo.com> | 2018-06-22 15:36:28 +0200 |
| commit | 6edf49e36f09c01c61a1dbdb878c5faabf0aef3f (patch) | |
| tree | 98a7d9675146455c9fd8744a866d57c04089a02a | |
| parent | cb047ae69def37ebc9208454b73ebd0ac77609ef (diff) | |
[IMP] ir_qweb: provide a clean way to ovverride the AssetsBundle to use
This revision follows revisions
- 9cd982bcc811cacb42f5c08db139043d2734b891
- df4072b0b493000ccfa4e453d785bcea27659e5c
We noticed modules implementing multi-websites features
override `_get_asset` to be able to provide their
own overriden `AssetsBunble` class.
Private methods are meant for internal usage of the code/module,
overriding is never a good idea given the fact their signature
can change. As this is the case in commit
9cd982bcc811cacb42f5c08db139043d2734b891.
That said, we understand their was no other way to go.
We therefore decide to provide one,
by adding a method that can be overriden to pass
their own AssetsBunble class instance.
opw-1860136
| -rw-r--r-- | odoo/addons/base/ir/ir_qweb/ir_qweb.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/odoo/addons/base/ir/ir_qweb/ir_qweb.py b/odoo/addons/base/ir/ir_qweb/ir_qweb.py index 084ed7e5ae9..105c12f7b08 100644 --- a/odoo/addons/base/ir/ir_qweb/ir_qweb.py +++ b/odoo/addons/base/ir/ir_qweb/ir_qweb.py @@ -286,6 +286,9 @@ class IrQWeb(models.AbstractModel, QWeb): # method called by computing code + def get_asset_bundle(self, xmlid, files, remains=None, env=None): + return AssetsBundle(xmlid, files, remains=remains, env=env) + # compatibility to remove after v11 - DEPRECATED @tools.conditional( 'xml' not in tools.config['dev_mode'], @@ -293,7 +296,7 @@ class IrQWeb(models.AbstractModel, QWeb): ) def _get_asset(self, xmlid, options, css=True, js=True, debug=False, async=False, values=None): files, remains = self._get_asset_content(xmlid, options) - asset = AssetsBundle(xmlid, files, remains, env=self.env) + asset = self.get_asset_bundle(xmlid, files, remains, env=self.env) return asset.to_html(css=css, js=js, debug=debug, async=async, url_for=(values or {}).get('url_for', lambda url: url)) @tools.conditional( @@ -304,7 +307,7 @@ class IrQWeb(models.AbstractModel, QWeb): ) def _get_asset_nodes(self, xmlid, options, css=True, js=True, debug=False, async=False, values=None): files, remains = self._get_asset_content(xmlid, options) - asset = AssetsBundle(xmlid, files, env=self.env) + asset = self.get_asset_bundle(xmlid, files, env=self.env) remains = [node for node in remains if (css and node[0] == 'link') or (js and node[0] != 'link')] return remains + asset.to_node(css=css, js=js, debug=debug, async=async) |
