[REF] base, mail: use new format_date method

This commit is contained in:
Nicolas Martinelli
2017-02-09 15:15:59 +01:00
parent b1eb344479
commit d2b9e8aa03
2 changed files with 4 additions and 25 deletions
+2 -9
View File
@@ -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):
+2 -16
View File
@@ -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):