summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authoralt-odoo <alt@odoo.com>2020-02-26 16:46:07 +0000
committeralt-odoo <alt@odoo.com>2020-02-27 20:04:06 +0000
commitb0be65f2115f87acda45af477bcbd709c80c2ac3 (patch)
tree4306007e0f9327e85c47fe072d63fb36bb3dca20 /addons
parent764f6f081f9460189687d612b416437a735eb2ff (diff)
[FIX] web_editor: crash in date formatting if no langage set
This issue was introduced with commit 251b880de1caeeef1f27447d4ad69e1abeffde19 : in case current user has no langage, we should have a fallback case by retrieving the first langage installed in the database. closes odoo/odoo#46487 X-original-commit: 67cf1150507b8092c32bf745e4c8620409fdc238 Signed-off-by: Alex Tuyls <alt-odoo@users.noreply.github.com>
Diffstat (limited to 'addons')
-rw-r--r--addons/web_editor/models/ir_qweb.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/addons/web_editor/models/ir_qweb.py b/addons/web_editor/models/ir_qweb.py
index 815147f9c86..3ee7073c691 100644
--- a/addons/web_editor/models/ir_qweb.py
+++ b/addons/web_editor/models/ir_qweb.py
@@ -32,6 +32,7 @@ import odoo.modules
from odoo import api, models, fields
from odoo.tools import ustr, posix_to_ldml, pycompat
from odoo.tools import html_escape as escape
+from odoo.tools.misc import get_lang
from odoo.addons.base.models import ir_qweb
REMOTE_CONNECTION_TIMEOUT = 2.5
@@ -211,7 +212,7 @@ class Date(models.AbstractModel):
attrs['data-oe-type'] = 'datetime'
return attrs
- lg = self.env['res.lang']._lang_get(self.env.user.lang)
+ lg = self.env['res.lang']._lang_get(self.env.user.lang) or get_lang(self.env)
locale = babel.Locale.parse(lg.code)
babel_format = value_format = posix_to_ldml(lg.date_format, locale=locale)
@@ -228,7 +229,7 @@ class Date(models.AbstractModel):
if not value:
return False
- lg = self.env['res.lang']._lang_get(self.env.user.lang)
+ lg = self.env['res.lang']._lang_get(self.env.user.lang) or get_lang(self.env)
date = datetime.strptime(value, lg.date_format)
return fields.Date.to_string(date)
@@ -245,7 +246,7 @@ class DateTime(models.AbstractModel):
if options.get('inherit_branding'):
value = record[field_name]
- lg = self.env['res.lang']._lang_get(self.env.user.lang)
+ lg = self.env['res.lang']._lang_get(self.env.user.lang) or get_lang(self.env)
locale = babel.Locale.parse(lg.code)
babel_format = value_format = posix_to_ldml('%s %s' % (lg.date_format, lg.time_format), locale=locale)
tz = record.env.context.get('tz') or self.env.user.tz
@@ -271,7 +272,7 @@ class DateTime(models.AbstractModel):
return False
# parse from string to datetime
- lg = self.env['res.lang']._lang_get(self.env.user.lang)
+ lg = self.env['res.lang']._lang_get(self.env.user.lang) or get_lang(self.env)
dt = datetime.strptime(value, '%s %s' % (lg.date_format, lg.time_format))
# convert back from user's timezone to UTC