summaryrefslogtreecommitdiff
path: root/addons/website/tools.py
diff options
context:
space:
mode:
authorRomain Derie <rde@odoo.com>2019-03-26 05:56:55 +0000
committerRomain Derie <rde@odoo.com>2019-08-26 16:35:19 +0000
commit269aa594111a152ad4b7714856ea745bfef57155 (patch)
treed5f8f7e86209102d831b2e222038d45bd7fe7626 /addons/website/tools.py
parentf10f120de3017bc8d0e9a5ac72eeec1280374a1d (diff)
[IMP] http_routing, website: allow to customize the lang in URL
With this commit it is now possible to change the lang displayed in the URL. Eg, you could use `/fr` instead of `/fr_BE`, or even a fancier `/french`. Task-32838 Courtesy of pla@odoo.com closes odoo/odoo#35135 Signed-off-by: Romain Derie (rde) <rde@odoo.com>
Diffstat (limited to 'addons/website/tools.py')
-rw-r--r--addons/website/tools.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/addons/website/tools.py b/addons/website/tools.py
index e3bb897ec52..e7058d65541 100644
--- a/addons/website/tools.py
+++ b/addons/website/tools.py
@@ -84,14 +84,24 @@ class MockRequest(object):
app.get_db_router = app.bind = app.match = app
if not kw.get('routing', True):
app.match = werkzeugRaiseNotFound
+
+ lang = kw.get('lang')
+ if not lang:
+ lang_code = kw.get('context', {}).get('lang', env.context.get('lang', 'en_US'))
+ lang = env['res.lang']._lang_get(lang_code)
+
+ context = kw.get('context', {})
+ context.setdefault('lang', lang_code)
+
self.request = DotDict({
- 'context': kw.get('context', {}),
+ 'context': context,
'db': None,
'env': env,
'httprequest': {
'path': '/hello/',
'app': app,
},
+ 'lang': lang,
'redirect': werkzeug.utils.redirect,
'session': {
'geoip': {