summaryrefslogtreecommitdiff
path: root/odoo
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2020-03-26 18:07:20 +0000
committerRomain Derie <rde@odoo.com>2020-03-26 18:12:47 +0000
commit26c4de2f18be2b4e944ee255236d9a5a1710d94c (patch)
tree80e8ccc73369b1d825ee4161f8c32cb57a1048b5 /odoo
parenta65d27cce98c1b0d303eeaf8f066fe4983afc7a8 (diff)
[IMP] http_routing: use cached code from lang
In case of short controller that don't use qweb template, we don't need anyhting else that this url code that don't change frequently. It make only sense for model like lang, website, ... that will not change frequently. And are called on each call by the dispatcher. In case of a website page, we will btw browse lang later, but in case of small controller like /favicon.ico, or page without qweb, ... we can just use the same from last query.
Diffstat (limited to 'odoo')
-rw-r--r--odoo/addons/base/models/res_lang.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/odoo/addons/base/models/res_lang.py b/odoo/addons/base/models/res_lang.py
index 0b58daf5411..dcf901e1a22 100644
--- a/odoo/addons/base/models/res_lang.py
+++ b/odoo/addons/base/models/res_lang.py
@@ -213,6 +213,19 @@ class Lang(models.Model):
langs = self.with_context(active_test=False).search([])
return sorted([(lang.code, lang.url_code, lang.name) for lang in langs], key=itemgetter(2))
+ @tools.ormcache('self.id')
+ def _get_cached_values(self):
+ self.ensure_one()
+ return {
+ 'id': self.id,
+ 'code': self.code,
+ 'url_code': self.url_code,
+ 'name': self.name,
+ }
+
+ def _get_cached(self, field):
+ return self._get_cached_values()[field]
+
@api.model
@tools.ormcache('code')
def _lang_code_to_urlcode(self, code):