[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:
parent
58868227f9
commit
20e5751e62
|
@ -21,6 +21,8 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
import base64
|
import base64
|
||||||
|
import datetime
|
||||||
|
import dateutil.relativedelta as relativedelta
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
|
@ -57,6 +59,12 @@ try:
|
||||||
'str': str,
|
'str': str,
|
||||||
'quote': quote,
|
'quote': quote,
|
||||||
'urlencode': urlencode,
|
'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:
|
except ImportError:
|
||||||
_logger.warning("jinja2 not available, templating features will not work!")
|
_logger.warning("jinja2 not available, templating features will not work!")
|
||||||
|
|
Loading…
Reference in New Issue