[IMP] added context_today()

bzr revid: nicolas.vanhoren@openerp.com-20121129160746-c3c691zk5fxhzse0
This commit is contained in:
niv-openerp 2012-11-29 17:07:46 +01:00
parent ed532ba3f2
commit f9b9e7c4cb
2 changed files with 19 additions and 5 deletions

View File

@ -402,11 +402,6 @@ openerp.web.pyeval = function (instance) {
d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(),
d.getUTCMilliseconds() * 1000]);
}),
today: py.classmethod.fromJSON(function () {
var d = new Date();
return py.PY_call(datetime.datetime,
[d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate()]);
}),
combine: py.classmethod.fromJSON(function () {
var args = py.PY_parseArgs(arguments, 'date time');
return py.PY_call(datetime.datetime, [
@ -479,6 +474,17 @@ openerp.web.pyeval = function (instance) {
return py.PY_call(datetime.date, [year, month, day])
}
});
/**
Returns the current local date, which means the date on the client (which can be different
compared to the date of the server).
@return {datetime.date}
*/
var context_today = function() {
var d = new Date();
return py.PY_call(
datetime.date, [d.getFullYear(), d.getMonth() + 1, d.getDate()]);
};
datetime.time = py.type('time', null, {
__init__: function () {
var zero = py.float.fromJSON(0);
@ -691,6 +697,7 @@ openerp.web.pyeval = function (instance) {
return {
uid: py.float.fromJSON(instance.session.uid),
datetime: datetime,
context_today: context_today,
time: time,
relativedelta: relativedelta,
current_date: py.PY_call(

View File

@ -19,6 +19,13 @@ openerp.testing.section('eval.types', {
d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate(),
d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds()));
});
test('context_today', function (instance) {
var d = new Date();
var context = instance.web.pyeval.context();
strictEqual(
py.eval("context_today().strftime('%Y-%m-%d')", context),
String(_.str.sprintf('%04d-%02d-%02d', d.getFullYear(), d.getMonth() + 1, d.getDate())));
});
// Port from pypy/lib_pypy/test_datetime.py
var makeEq = function (instance, c2) {
var ctx = instance.web.pyeval.context();