From 6eb4762fee20a158023d774a90e7ee90c2cacec5 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Tue, 11 Aug 2020 08:55:49 +0000 Subject: [PATCH] [IMP] base,web: set user tz to browser tz at first login With this commit, the timezone (in the user's preferences) is automatically set to the timezone of its browser the first time this user logs in. Task 2207715 closes odoo/odoo#55726 Signed-off-by: Olivier Dony (odo) --- addons/web/views/webclient_templates.xml | 6 ++++++ odoo/addons/base/models/res_users.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index deb37ef3f3c..23fd4e36e8a 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -464,6 +464,12 @@ + + + diff --git a/odoo/addons/base/models/res_users.py b/odoo/addons/base/models/res_users.py index e9394d870e9..ab48d6270dd 100644 --- a/odoo/addons/base/models/res_users.py +++ b/odoo/addons/base/models/res_users.py @@ -643,6 +643,10 @@ class Users(models.Model): raise AccessDenied() user = user.with_user(user) user._check_credentials(password) + tz = request.httprequest.cookies.get('tz') if request else None + if tz in pytz.all_timezones and (not user.tz or not user.login_date): + # first login or missing tz -> set tz to browser tz + user.tz = tz user._update_last_login() except AccessDenied: _logger.info("Login failed for db:%s login:%s from %s", db, login, ip)