diff --git a/addons/mail/models/mail_template.py b/addons/mail/models/mail_template.py index 0576bd66db7..6ca8141eb3a 100644 --- a/addons/mail/models/mail_template.py +++ b/addons/mail/models/mail_template.py @@ -20,17 +20,10 @@ _logger = logging.getLogger(__name__) def format_date(env, date, pattern=False): - date = datetime.datetime.strptime(date[:10], tools.DEFAULT_SERVER_DATE_FORMAT) - lang_code = env.context.get('lang') or 'en_US' - if not pattern: - lang = env['res.lang']._lang_get(lang_code) - pattern = lang.date_format try: - locale = babel.Locale.parse(lang_code) - pattern = tools.posix_to_ldml(pattern, locale=locale) - return babel.dates.format_date(date, format=pattern, locale=locale) + return tools.format_date(env, date, date_format=pattern) except babel.core.UnknownLocaleError: - return date.strftime(pattern) + return date def format_tz(env, dt, tz=False, format=False): diff --git a/odoo/addons/base/ir/ir_qweb/fields.py b/odoo/addons/base/ir/ir_qweb/fields.py index c7dadb1ce8f..1c39695747c 100644 --- a/odoo/addons/base/ir/ir_qweb/fields.py +++ b/odoo/addons/base/ir/ir_qweb/fields.py @@ -5,7 +5,7 @@ from odoo import api, fields, models, _ from PIL import Image from cStringIO import StringIO import babel -from odoo.tools import html_escape as escape, posix_to_ldml, safe_eval, float_utils +from odoo.tools import html_escape as escape, posix_to_ldml, safe_eval, float_utils, format_date from .qweb import unicodifier import logging @@ -167,21 +167,7 @@ class DateConverter(models.AbstractModel): @api.model def value_to_html(self, value, options): - if not value or len(value) < 10: - return '' - lang = self.user_lang() - locale = babel.Locale.parse(lang.code) - - if isinstance(value, basestring): - value = fields.Datetime.from_string(value[:10]) - - if options and 'format' in options: - pattern = options['format'] - else: - strftime_pattern = lang.date_format - pattern = posix_to_ldml(strftime_pattern, locale=locale) - - return babel.dates.format_date(value, format=pattern, locale=locale) + return format_date(self.env, value, date_format=(options or {}).get('format')) class DateTimeConverter(models.AbstractModel):