diff options
| author | Jeremy Kersten <jke@odoo.com> | 2020-03-26 18:07:20 +0000 |
|---|---|---|
| committer | Romain Derie <rde@odoo.com> | 2020-03-26 18:12:47 +0000 |
| commit | 26c4de2f18be2b4e944ee255236d9a5a1710d94c (patch) | |
| tree | 80e8ccc73369b1d825ee4161f8c32cb57a1048b5 /odoo | |
| parent | a65d27cce98c1b0d303eeaf8f066fe4983afc7a8 (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.py | 13 |
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): |
