diff options
| author | alt-odoo <alt@odoo.com> | 2020-02-26 16:46:07 +0000 |
|---|---|---|
| committer | alt-odoo <alt@odoo.com> | 2020-02-27 20:04:06 +0000 |
| commit | b0be65f2115f87acda45af477bcbd709c80c2ac3 (patch) | |
| tree | 4306007e0f9327e85c47fe072d63fb36bb3dca20 /addons/web_editor/models | |
| parent | 764f6f081f9460189687d612b416437a735eb2ff (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/web_editor/models')
| -rw-r--r-- | addons/web_editor/models/ir_qweb.py | 9 |
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 |
