[IMP] email_template: add `datetime` and `dateutil.relativedelta` in the global rendering context for templates

The `dateutil` package is not included directly in the globals because
`dateutil.relativedelta.relativedelta` is an old-style class and jinja2
does not appear to support instantiating old-style classes within an
expression, so `relativedelta` support is provided using a "lambda proxy".

bzr revid: odo@openerp.com-20130826124405-bixzwyhl65c7v75b
This commit is contained in:
Olivier Dony 2013-08-26 14:44:05 +02:00
parent 58868227f9
commit 20e5751e62
1 changed files with 8 additions and 0 deletions

View File

@ -21,6 +21,8 @@
##############################################################################
import base64
import datetime
import dateutil.relativedelta as relativedelta
import logging
import openerp
@ -57,6 +59,12 @@ try:
'str': str,
'quote': quote,
'urlencode': urlencode,
'datetime': datetime,
# dateutil.relativedelta is an old-style class and cannot be directly
# instanciated wihtin a jinja2 expression, so a lambda "proxy" is
# is needed, apparently.
'relativedelta': lambda *a, **kw : relativedelta.relativedelta(*a, **kw),
})
except ImportError:
_logger.warning("jinja2 not available, templating features will not work!")