diff options
| author | Romain Derie <rde@odoo.com> | 2019-03-26 05:56:55 +0000 |
|---|---|---|
| committer | Romain Derie <rde@odoo.com> | 2019-08-26 16:35:19 +0000 |
| commit | 269aa594111a152ad4b7714856ea745bfef57155 (patch) | |
| tree | d5f8f7e86209102d831b2e222038d45bd7fe7626 /addons/website/tools.py | |
| parent | f10f120de3017bc8d0e9a5ac72eeec1280374a1d (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.py | 12 |
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': { |
