summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Derie <rde@odoo.com>2019-05-07 13:27:02 +0000
committerRomain Derie <rde@odoo.com>2019-06-12 14:02:34 +0000
commit55e7b702bb7f01c5f3bd3efbccf82c2d2c661f49 (patch)
tree3d784f878a03737d4d86e9c1caca23af4d2c0e9c
parent283313a06cebace1588cb9ad8c54fc135070a204 (diff)
[REM] base, website: remove deprecated code from qweb and bundle
The _get_asset method was deprecated since df4072b0b493 Last use of this deprecated method was removed with d7da1d648c2d6 Also, remains and to_html were deprecated since 9cd982bcc81 test_assetsbundle was still using the deprecated method to test.. Closes #33432 Signed-off-by: Romain Derie (rde) <rde@odoo.com>
-rw-r--r--addons/website/models/ir_qweb.py4
-rw-r--r--odoo/addons/base/models/assetsbundle.py36
-rw-r--r--odoo/addons/base/models/ir_qweb.py16
-rw-r--r--odoo/addons/test_assetsbundle/tests/test_assetsbundle.py25
4 files changed, 24 insertions, 57 deletions
diff --git a/addons/website/models/ir_qweb.py b/addons/website/models/ir_qweb.py
index 664838afe77..0e93876be45 100644
--- a/addons/website/models/ir_qweb.py
+++ b/addons/website/models/ir_qweb.py
@@ -34,8 +34,8 @@ class QWeb(models.AbstractModel):
'img': 'src',
}
- def get_asset_bundle(self, xmlid, files, remains=None, env=None):
- return AssetsBundleMultiWebsite(xmlid, files, remains=remains, env=env)
+ def get_asset_bundle(self, xmlid, files, env=None):
+ return AssetsBundleMultiWebsite(xmlid, files, env=env)
def _post_processing_att(self, tagName, atts, options):
if atts.get('data-no-post-process'):
diff --git a/odoo/addons/base/models/assetsbundle.py b/odoo/addons/base/models/assetsbundle.py
index 4afc9a76a56..043d4999c23 100644
--- a/odoo/addons/base/models/assetsbundle.py
+++ b/odoo/addons/base/models/assetsbundle.py
@@ -86,8 +86,7 @@ class AssetsBundle(object):
rx_preprocess_imports = re.compile("""(@import\s?['"]([^'"]+)['"](;?))""")
rx_css_split = re.compile("\/\*\! ([a-f0-9-]+) \*\/")
- # remains attribute is depreciated and will remove after v11
- def __init__(self, name, files, remains=None, env=None):
+ def __init__(self, name, files, env=None):
self.name = name
self.env = request.env if env is None else env
self.javascripts = []
@@ -110,26 +109,6 @@ class AssetsBundle(object):
elif f['atype'] == 'text/javascript':
self.javascripts.append(JavascriptAsset(self, url=f['url'], filename=f['filename'], inline=f['content']))
- # depreciated and will remove after v11
- def to_html(self, sep=None, css=True, js=True, debug=False, async_load=False, defer_load=False, lazy_load=False, url_for=(lambda url: url)):
- nodes = self.to_node(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load)
-
- if sep is None:
- sep = u'\n '
- response = []
- for tagName, attributes, content in nodes:
- html = u"<%s " % tagName
- for name, value in attributes.items():
- if value or isinstance(value, str):
- html += u' %s="%s"' % (name, escape(to_text(value)))
- if content is None:
- html += u'/>'
- else:
- html += u'>%s</%s>' % (escape(to_text(content)), tagName)
- response.append(html)
-
- return sep + sep.join(response)
-
def to_node(self, css=True, js=True, debug=False, async_load=False, defer_load=False, lazy_load=False):
"""
:returns [(tagName, attributes, content)] if the tag is auto close
@@ -599,19 +578,6 @@ class WebAsset(object):
except Exception:
raise AssetNotFound("Could not find %s" % self.name)
- # depreciated and will remove after v11
- def to_html(self):
- tagName, attributes, content = self.to_node()
- html = u"<%s " % tagName
- for name, value in attributes.items():
- if value or isinstance(value, str):
- html += u' %s="%s"' % (name, escape(to_text(value)))
- if content is None:
- html += u'/>'
- else:
- html += u'>%s</%s>' % (escape(to_text(content)), tagName)
- return html
-
def to_node(self):
raise NotImplementedError()
diff --git a/odoo/addons/base/models/ir_qweb.py b/odoo/addons/base/models/ir_qweb.py
index 43aa67e6805..0ddb06744e0 100644
--- a/odoo/addons/base/models/ir_qweb.py
+++ b/odoo/addons/base/models/ir_qweb.py
@@ -160,7 +160,7 @@ class IrQWeb(models.AbstractModel, QWeb):
if len(el):
raise SyntaxError("t-call-assets cannot contain children nodes")
- # nodes = self._get_asset(xmlid, options, css=css, js=js, debug=values.get('debug'), async=async, values=values)
+ # nodes = self._get_asset_nodes(xmlid, options, css=css, js=js, debug=values.get('debug'), async=async, values=values)
#
# for index, (tagName, t_attrs, content) in enumerate(nodes):
# if index:
@@ -282,18 +282,8 @@ 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'],
- tools.ormcache_context('xmlid', 'options.get("lang", "en_US")', 'css', 'js', 'debug', 'async_load', 'defer_load', 'lazy_load', keys=("website_id",)),
- )
- def _get_asset(self, xmlid, options, css=True, js=True, debug=False, async_load=False, defer_load=False, lazy_load=False, values=None):
- files, remains = self._get_asset_content(xmlid, options)
- asset = self.get_asset_bundle(xmlid, files, remains, env=self.env)
- return asset.to_html(css=css, js=js, debug=debug, async_load=async_load, defer_load=defer_load, lazy_load=lazy_load, url_for=(values or {}).get('url_for', lambda url: url))
+ def get_asset_bundle(self, xmlid, files, env=None):
+ return AssetsBundle(xmlid, files, env=env)
@tools.conditional(
# in non-xml-debug mode we want assets to be cached forever, and the admin can force a cache clear
diff --git a/odoo/addons/test_assetsbundle/tests/test_assetsbundle.py b/odoo/addons/test_assetsbundle/tests/test_assetsbundle.py
index c315f76a6f1..de9d4693493 100644
--- a/odoo/addons/test_assetsbundle/tests/test_assetsbundle.py
+++ b/odoo/addons/test_assetsbundle/tests/test_assetsbundle.py
@@ -50,6 +50,13 @@ class TestJavascriptAssetsBundle(TransactionCase):
domain = [('url', '=like', url)]
return self.env['ir.attachment'].search(domain)
+ def _node_to_list(self, nodes):
+ res = []
+ for index, (tagName, t_attrs, content) in enumerate(nodes):
+ for name, value in t_attrs.items():
+ res.append(value)
+ return res
+
def test_01_generation(self):
""" Checks that a bundle creates an ir.attachment record when its `js` method is called
for the first time.
@@ -154,7 +161,8 @@ class TestJavascriptAssetsBundle(TransactionCase):
""" Checks that a bundle rendered in debug mode outputs non-minified assets.
"""
debug_bundle = self._get_asset(self.jsbundle_xmlid)
- content = debug_bundle.to_html(debug='assets')
+ nodes = debug_bundle.to_node(debug='assets')
+ content = self._node_to_list(nodes)
# find back one of the original asset file
self.assertIn('/test_assetsbundle/static/src/js/test_jsfile1.js', content)
@@ -234,7 +242,8 @@ class TestJavascriptAssetsBundle(TransactionCase):
""" Check that a bundle in debug mode outputs non-minified assets.
"""
debug_bundle = self._get_asset(self.cssbundle_xmlid)
- content = debug_bundle.to_html(debug='assets')
+ nodes = debug_bundle.to_node(debug='assets')
+ content = self._node_to_list(nodes)
# find back one of the original asset file
self.assertIn('/test_assetsbundle/static/src/css/test_cssfile1.css', content)
@@ -256,8 +265,9 @@ class TestJavascriptAssetsBundle(TransactionCase):
self.assertEquals(ira0.store_fname, ira1.store_fname)
# the ir.attachment records should be deduplicated in the bundle's content
- content = bundle0.to_html()
- self.assertEqual(content.count('test_assetsbundle.bundle2.css'), 1)
+ nodes = bundle0.to_node()
+ content = self._node_to_list(nodes)
+ self.assertEqual(content[2].count('test_assetsbundle.bundle2.css'), 1)
# Language direction specific tests
@@ -448,7 +458,8 @@ class TestJavascriptAssetsBundle(TransactionCase):
""" Checks that a bundle rendered in debug mode(assets) with right to left language direction stores css files in assets bundle.
"""
debug_bundle = self._get_asset(self.cssbundle_xmlid, env=self.env(context={'lang': 'ar_SY'}))
- content = debug_bundle.to_html(debug='assets')
+ nodes = debug_bundle.to_node(debug='assets')
+ content = self._node_to_list(nodes)
# css file should be available in assets bundle as user's lang direction is rtl
self.assertIn('/test_assetsbundle/static/src/css/test_cssfile1/rtl/{0}.css'.format(self.cssbundle_xmlid), content)
@@ -562,11 +573,11 @@ class TestAssetsBundleWithIRAMock(TransactionCase):
def _get_asset(self):
files, remains = self.env['ir.qweb']._get_asset_content(self.stylebundle_xmlid, {})
- return AssetsBundle(self.stylebundle_xmlid, files, remains, env=self.env)
+ return AssetsBundle(self.stylebundle_xmlid, files, env=self.env)
def _bundle(self, asset, should_create, should_unlink):
self.counter.clear()
- asset.to_html(debug='assets')
+ asset.to_node(debug='assets')
self.assertEquals(self.counter['create'], int(should_create))
self.assertEquals(self.counter['unlink'], int(should_unlink))