From 99e77f708e037cf2655d6964ee3b70418dd751ee Mon Sep 17 00:00:00 2001 From: Mathieu Duckerts-Antoine Date: Mon, 20 Sep 2021 14:33:49 +0000 Subject: [PATCH] [FIX] web: py.js evaluation of current_date MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit current_date was absent from py_builtin. For that reason, it was impossible for the search model to evaluate a dynamic domains like "[('date_deadline', '<', current_date)]" We add current_date to py_builtin. closes odoo/odoo#77035 X-original-commit: ade082c5ad9221c82de90ddbe68b814b1487753d Signed-off-by: Géry Debongnie (ged) --- addons/web/static/src/core/py_js/py_builtin.js | 5 +++++ addons/web/static/tests/core/py_js/py_date_tests.js | 5 +++++ addons/web/static/tests/search/search_model_tests.js | 2 ++ 3 files changed, 12 insertions(+) diff --git a/addons/web/static/src/core/py_js/py_builtin.js b/addons/web/static/src/core/py_js/py_builtin.js index 760c5f26ff3..a4d82730056 100644 --- a/addons/web/static/src/core/py_js/py_builtin.js +++ b/addons/web/static/src/core/py_js/py_builtin.js @@ -31,6 +31,11 @@ export const BUILTINS = { return PyDate.today(); }, + get current_date() { + // deprecated: today should be prefered + return this.today; + }, + get today() { return PyDate.today().strftime("%Y-%m-%d"); }, diff --git a/addons/web/static/tests/core/py_js/py_date_tests.js b/addons/web/static/tests/core/py_js/py_date_tests.js index f65b1887809..9ed9ab4dc01 100644 --- a/addons/web/static/tests/core/py_js/py_date_tests.js +++ b/addons/web/static/tests/core/py_js/py_date_tests.js @@ -190,5 +190,10 @@ QUnit.module("py", {}, () => { QUnit.test("now", (assert) => { assert.ok(check("now", formatDateTime)); }); + + QUnit.test("current_date", (assert) => { + patchDate(2021, 8, 20, 10, 0, 0); + assert.deepEqual(evaluateExpr("current_date"), "2021-09-20"); + }); }); }); diff --git a/addons/web/static/tests/search/search_model_tests.js b/addons/web/static/tests/search/search_model_tests.js index 881d1bea7bd..cbc6ff6f3e7 100644 --- a/addons/web/static/tests/search/search_model_tests.js +++ b/addons/web/static/tests/search/search_model_tests.js @@ -793,6 +793,7 @@ QUnit.module("Search", (hooks) => { + `; @@ -800,6 +801,7 @@ QUnit.module("Search", (hooks) => { [["datetime", "=", "2021-09-16 22:00:00"]], [["date", "=", "2020-09-17 00:00:00"]], [["create_date", ">", "2021-09-16"]], + [["date_deadline", "<", "2021-09-17"]], ]; const model = await makeSearchModel({ serverData, searchViewArch });